理解数据结构假设一个节点的链表,其中每个节点都有一个名为bucked的数组,可以存储一些字符串。
struct NODE
{
char *bucket[BUCKET_SIZE]; // an array of strings
int count; // number of items in the array
Node *next;
};
并在此列表中插入函数原型:
insert( List *list, char *new_string );
我想知道这意味着什么。我有一个大小的桶(数组)(例如:20),它位于链表的结构(节点)内。
“当您向列表中添加值时,如果有空间,可以使用常规有序数组插入(将项目向下移动)插入到现有存储桶中。”
我认为这两种方式都有效。请让我知道要实施哪一个。 铲斗[8]
键入a:
1 insert "o".
bucket[0]="o";
2 insert "one"
bucket[0]="o"
bucket[1]="one"
3 insert "two"
bucket[0]= "0"
bucket[1]="one"
bucket[2]="two"
bucket[8]
输入b:
1 insert "o"
bucket[0]="o";
2 insert "one"
bucket[0]="one"
bucket[1]="o"
3 insert "two"
bucket[0]= "two"
bucket[1]="one"
bucket[2]="0"
或者我完全错了,它试图告诉我其他的东西。
答案 0 :(得分:0)
这实际上取决于你如何解释“常规有序数组插入”和“改变项目”。
通过“有序数组插入”,它是否意味着“排序数组插入”?如果确实如此,那么您的建议都不会奏效。相反,您需要一个插入,在数组的排序位置正确插入值。如果没有,那么你的任何一个建议都会起作用(但首先,让我们考虑下一个短语)。
通过“改变项目”,是否意味着“继续推动项目”?如果是的话,你需要B型。如果没有,你需要输入a。
由于这似乎不是标准的图书馆要求或任何内容,您可能会更好地询问您的要求来源。
另外,正如moeCake所指出的那样,当你计算>时,你将不得不处理这种情况。 BUCKET_SIZE也是。