C,打印链接列表

时间:2010-12-07 02:53:58

标签: c printing linked-list

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

简短:如何打印linked list

4 个答案:

答案 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(这意味着你已经到达了你的尾巴)。