试图了解如何在数组中添加项目?

时间:2014-02-27 00:56:06

标签: c data-structures

理解数据结构假设一个节点的链表,其中每个节点都有一个名为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"

或者我完全错了,它试图告诉我其他的东西。

1 个答案:

答案 0 :(得分:0)

这实际上取决于你如何解释“常规有序数组插入”和“改变项目”。

通过“有序数组插入”,它是否意味着“排序数组插入”?如果确实如此,那么您的建议都不会奏效。相反,您需要一个插入,在数组的排序位置正确插入值。如果没有,那么你的任何一个建议都会起作用(但首先,让我们考虑下一个短语)。

通过“改变项目”,是否意味着“继续推动项目”?如果是的话,你需要B型。如果没有,你需要输入a。

由于这似乎不是标准的图书馆要求或任何内容,您可能会更好地询问您的要求来源。

另外,正如moeCake所指出的那样,当你计算>时,你将不得不处理这种情况。 BUCKET_SIZE也是。