链接列表变形

时间:2017-10-23 20:16:52

标签: c linked-list

我有一个程序可以读入文件,对每个单词进行标记并将其发送到我的链表功能。它检查它已存在的单词,如果不存在它将它放在前面。我的程序适用于小型文本,但后来很快下山。

- 这是每次插入后的打印(\ n打印完成后) -

可以看出它有效,但是然后列表中的部分内容就像疯了一样变得混乱而非常奇怪。我被提供了以前的代码,它自动为我标记,并在每次搜索无法找到匹配时调用插入。这是我的插入和搜索代码。

Boolean search(char *target)
{
assert(target != NULL);

struct NODE *temp = head;
Boolean result = false;

if ((temp != NULL) && (target != NULL))
{
    do
    {
        if (strcmp(temp->item, target) == 0)
        {
            result = true;
            temp = NULL;
        } else
            temp = temp->next;
    } while (temp != NULL);
}
else
if (target == NULL)
{
    printf("Error, no search target provided!\n");
}

return result;
}

Boolean insert(char *new_string)
{
assert(new_string != NULL);
Boolean result = false;

if (new_string != NULL)
{
    new = (struct NODE *) malloc(sizeof(Node));
    if (new == NULL)
    {
        printf("Error, no memory left, consider smaller file");
    }
    else
    {
        new->item = new_string;
        new->next = head;
        head = new;
        result = true;
        printConcordance(); /*THIS PRINTS THE CURRENT LIST*/
    }
}
else
{
    printf("Error, string was not given!\n");
}
return result;
}

我假设我做了一些错误的记忆,所以我确保我的所有节点都是全局变量,并尝试了各种类似的东西,但我没有尝试过每一个工作。更改打印件甚至小编辑都会产生巨大的影响,这让我感到更加困惑。我尝试在Eclipse和Cygwin上进行测试,两者输出不同。

0 个答案:

没有答案