我一直在想一种方法来遍历单个链表。
到目前为止,这是我所做的:
#include <iostream>
typedef struct node {
int data; // will store information
node *next; // the reference to the next node
};
int printList(node *traverse) {
if (traverse->next == NULL) {
return -1;
}
traverse=traverse->next;
printList(traverse);
cout << traverse->data << endl;
return 0;
}
int main() {
node *head = NULL;
for (int i = 0; i < 10; i++) {
node *newEntry = new node;
newEntry->data = i;
newEntry->next = head;
head = newEntry;
}
printList(head);
return 0;
}
我想不出一种方法来打印printList()
函数中的最后一个数字(9)。我怎么能做到这一点?我的第二个问题是,如何在 while 循环而不是递归函数中遍历它。
正如你们中的一些人之前试图回答的那样,我不想从 9 遍历到 0,这应该从 0 遍历到 9,你可以看到http://codepad.org/ynEdGc9S的输出