Я пытаюсь продумать способ прохождения одного связанного списка.Обход одного связанного списка в порядке
Это до сих пор, что я сделал:
#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;
}
Я не могу думать способ напечатать последнюю цифру (9) в printList()
функции. Как я смогу добиться этого? Мой второй вопрос: как я могу проходить то же самое в цикле while, а не с рекурсивной функцией.
Как некоторые из вас пытались ответить прежде, я не ищу, чтобы пройти это от 9 до 0, это должно пройти от 0 до 9, вы можете увидеть выход из http://codepad.org/ynEdGc9S
Если это производство код, то используйте зЬй :: список. Если нет, то наслаждайтесь. – Bathsheba
@ Батшеба: больше похоже на 'std :: forward_list'. –
@Kerrek SB Touche – Bathsheba