我必须编写一个使用链表的C程序。我已经创建了一个列表并添加了列表中的元素。但我不知道如何打印列表中的所有元素。该列表是字符串列表。我想我会以某种方式在列表中递增,打印出那里的每一个字符串,但我无法想办法做到这一点。
简短:如何打印linked list
?
答案 0 :(得分:10)
没有愚蠢的问题 1 。这里有一些伪代码可以帮助您入门:
def printAll (node):
while node is not null:
print node->payload
node = node->next
printAll (head)
确实如此,只需从头节点开始,打印出有效载荷并移动到列表中的下一个节点。
一旦下一个节点是列表的末尾,就停止。
1 嗯,实际上,可能是,但这不是其中之一: - )
答案 1 :(得分:4)
您可以使用指针迭代链接列表。伪代码:
tempPointer = head
while(tempPointer not null) {
print tempPointer->value;
tempPointer = tempPointer->next;
}
答案 2 :(得分:1)
伪代码:
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)
}
答案 3 :(得分:0)
我不太确定这是否是您正在寻找的,但通常您存储在DS中,一个pHead(指向第一个元素的指针),并实现一个函数来检索下一个地址字符串节点。
你这样做直到下一个地址为NULL(这意味着你已经到达了你的尾巴)。