C,打印链接列表

我必须编写一个使用链表的C程序。 我创建了一个列表并在列表中添加了元素。 但我不知道如何打印列表中的所有元素。 该列表是字符串列表。 我想我会以某种方式在列表中递增,打印出那里的每一个字符串,但我无法想办法做到这一点。

简:如何打印linked list

没有愚蠢的问题1 。 这里有一些伪代码可以帮助您入门:

 def printAll (node): while node is not null: print node->payload node = node->next printAll (head) 

真的,只是从头节点开始,打印出有效载荷并移动到列表中的下一个节点。

一旦下一个节点是列表的结尾,停止。


1嗯,实际上,可能有,但这不是其中之一:-)

您可以使用指针迭代链接列表。 伪代码:

 tempPointer = head while(tempPointer not null) { print tempPointer->value; tempPointer = tempPointer->next; } 

伪代码:

 struct list { type value; struct list* pNext; } void function() { struct list L; // .. element to L // Iterate each node and print struct list* node = &L; do { print(node->value) node = node->next; } while(node != NULL) } 

我不太确定这是否是您正在寻找的,但通常您存储在您的DS中,一个pHead(这是指向第一个元素的指针),并实现一个函数来检索字符串的下一个地址 – 节点。

你这样做直到下一个地址为NULL(这意味着你已经到达你的尾巴)。