我想在链表中显示元素而不使用C ++中的函数。我的代码在屏幕上什么都没有出现,即使它不包含任何错误。我不知道该如何解决?
#include <iostream>
using namespace std;
struct Element {
int data;
Element *next;
};
struct List {
int nb_ele;
Element *head;
Element *tail;
};
int main(){
Element *tmp;
tmp = new(Element);
tmp ->data = 5;
tmp ->next = NULL;
List *li;
li ->head = tmp;
li ->tail = tmp;
li ->nb_ele = 1;
tmp = new(Element);
tmp ->data = 7;
tmp ->next = li->head;
li ->head = tmp;
li ->nb_ele = li->nb_ele + 1;
Element *ptr;
ptr = li->head;
while (ptr != NULL){
cout<< ptr->data<<" ";
ptr = ptr->next;
}
}
答案 0 :(得分:1)
您的代码存在以下问题:
List *li;
li是未初始化的指针,当您以后尝试访问它时,会引起问题。 将此行更改为:
List *li = new List;
或不使用指针。只需将其更改为:
List li;