gpt4 book ai didi

c++ - 试图了解为什么我的链表仅显示最后添加的节点

转载 作者:行者123 更新时间:2023-12-02 10:11:08 25 4
gpt4 key购买 nike

因此,我现在迷失了想法,那就是创建一个链接列表,用户可以在其中添加多个学校科目,并且需要在末尾显示它,但是我得到的是最后插入的科目,并且这是末尾的信息。也许有人可以帮忙?

#include <iostream>

using namespace std;
struct cvor {
int sif_pred;
string naz_pred;
int br_sati_pr;
int br_sati_vj;
cvor* veza; //veza=link
} faks;
void unos(cvor*& glava, cvor* noviPredmet) //glava=head
{

noviPredmet->sif_pred = faks.sif_pred;
noviPredmet->naz_pred = faks.naz_pred;
noviPredmet->br_sati_pr = faks.br_sati_pr;
noviPredmet->br_sati_vj = faks.br_sati_vj;
noviPredmet->veza = glava;
glava = noviPredmet;
}
void ispis(cvor*& glava)
{
while (glava) {
cout << glava->sif_pred << " ";
cout << glava->naz_pred << " ";
cout << glava->br_sati_pr << " ";
cout << glava->br_sati_vj << " ";
glava = glava->veza;
}
}
int main()
{
cvor* glava = 0;
cvor* noviPredmet = new cvor;
int x;
do {
do {
cout << "Unesti sifru predavanja: ";
cin >> faks.sif_pred;
cout << "\nUnesti naziv predavanja: ";
cin >> faks.naz_pred;
cout << "\nUnesti broj stai predavanja: ";
cin >> faks.br_sati_pr;
cout << "\nUnesti broj stai vjezbi: ";
cin >> faks.br_sati_vj;
} while (faks.br_sati_vj != 0);

unos(glava, noviPredmet);
cin >> x;
} while (x != 0);
ispis(glava);
return 0;
}

最佳答案

您只分配一个节点,在这里:

    cvor* noviPredmet = new cvor;
然后,每次将相同的节点添加到列表中:
        unos(glava, noviPredmet);

关于c++ - 试图了解为什么我的链表仅显示最后添加的节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63551202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com