我必須編寫一個使用鏈接列表的C程序。我創建了一個列表並添加了元素到列表中。但我不知道如何打印列表中的所有元素。該列表是一個字符串列表。我想我會以某種方式增加整個列表,打印每一個字符串,但我無法找到一種方法來做到這一點。C,打印鏈接列表字符串
短片:如何打印linked list
?
我必須編寫一個使用鏈接列表的C程序。我創建了一個列表並添加了元素到列表中。但我不知道如何打印列表中的所有元素。該列表是一個字符串列表。我想我會以某種方式增加整個列表,打印每一個字符串,但我無法找到一種方法來做到這一點。C,打印鏈接列表字符串
短片:如何打印linked list
?
有沒有愚蠢的問題。下面是一些僞代碼,讓您開始:
def printAll (node):
while node is not null:
print node->payload
node = node->next
printAll (head)
這是真的,剛開始的頭節點,打印出的有效載荷,並移動到列表中的下一個節點。
一旦下一個節點是列表的結尾,停止。
嗯,事實上,有可能是,但是這是不是其中之一:-)
我不太清楚,如果這是你在找什麼,但通常你在你的DS中存儲一個pHead(這是一個指向第一個元素的指針),並實現一個函數來檢索字符串節點的下一個地址。
你這樣做直到下一個地址是NULL(這意味着你已經到達你的尾巴)。
您可以使用指針遍歷鏈接列表。僞代碼:
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)
}
聽起來像你真正的問題是「我如何通過鏈表迭代」 - 是準確的? – Cascabel 2010-12-07 02:55:36
Jefromi的問題的後續工作分爲兩部分:1)您可以打印第一個節點的內容,2)您是否可以獲得第二個節點的鏈接? – dmckee 2010-12-07 02:57:33