Как я могу дважды вернуться назад с оператором стрелки в связанном списке? (top -> next -> next не работает)
Когда мы создаем Stacks by Linked list, операция «push» аналогична следующей операции
newNode -> next = top;top = newNode;
Итак, я думаю, что после выполнения push нажмите top-> next, став перед Node of top. Я проверил, что это правильно.
Мой вопрос: как я могу вернуться дважды? Я попытался top -> next -> next, но это не работает .. Могу ли я узнать причину? и как я могу это сделать ..?
//c++
struct node {
int x;
int y;
struct node *next;
};
struct node* top = NULL;
void push(int _x, int _y) {
struct node* new_node = (struct node*) malloc(sizeof(struct node));
new_node->x = _x;
new_node->y = _y;
new_node->next = top;
top = new_node;
}
//When I push 00,01,10
cout<<"top: "<< top->x << top->y <<endl; //top: 10
cout<<"top_next: "<< top->next->x << top->next->y <<endl; //top_next: 01
cout<<"top_next_next: "<< top->next->next->x << top->next->next->y
<<endl; //This is Problem (I want 00)
Возвращает странное значение, и я не вижу значения 'top-> next-> next-> x или y'