如何在不使用C ++函数的情况下显示链接列表中的元素?

时间:2019-04-28 03:26:08

标签: c++

我想在链表中显示元素而不使用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;
    }
}

1 个答案:

答案 0 :(得分:1)

您的代码存在以下问题:

List *li;

li是未初始化的指针,当您以后尝试访问它时,会引起问题。 将此行更改为:

List *li = new List;

或不使用指针。只需将其更改为:

List li;