遍历链表

时间:2016-04-24 19:36:14

标签: c++ struct linked-list

对于学校作业,我们要求使用c ++中的数据结构制作链表。 现在我们从未接触过c ++(仅在JAVA中涉及到一点点),因此分配有点压倒性。

我在遍历和关注我的链接列表时遇到了一些麻烦(假设我创建链接列表的方式并非严重缺陷)。

给出以下代码:

    #include <iostream>
    #include <cstdlib>
    #include <ctime>

    using namespace std;

    struct getallenlijst {
            int getal1;
            int getal2;
            int getal3;
            getallenlijst* next;
            };

    int main() {
            srand(time(NULL)); //Create random nummer, seed is time voor randomize.


    getallenlijst* n;               //maak pointer aan voor n. Maken hiermee nieuwe structs aan.
    getallenlijst* t;               //maak pointer aan voor t. Linken hiermee de boel aan elkaar.
    getallenlijst* h;               //maak hiermee een start punt.

    n = new getallenlijst;          //maak nieuwe struct aan.
    n->getal1 = rand();             //vul met data.
    n->getal2 = rand();
    n->getal3 = rand();

    t = n;          //definieer t voor linken van lists.
    h = n;          //definieer h zodat we altijd terug naar start kunnen.

    n = new getallenlijst;
    n->getal1 = rand();
    n->getal2 = rand();
    n->getal3 = rand();

    t->next = n; // verplaats t naar voren van oude struct.
    t = n; //verplaats t weer naar de next in struct.

    n = new getallenlijst;
    n->getal1 = rand();
    n->getal2 = rand();
    n->getal3 = rand();

    t->next = n; // verplaats t naar voren van oude struct.

    n = new getallenlijst;
    t = n; //verplaats t weer naar de next in struct.
    n->getal1 = rand();
    n->getal2 = rand();
    n->getal3 = rand();

    t->next = n; // verplaats t naar voren van oude struct.

    n = new getallenlijst;
    t = n; //verplaats t weer naar de next in struct.
    n->getal1 = rand();
    n->getal2 = rand();
    n->getal3 = rand();

    t->next = n;            //verplaats t weer.
    n->next = NULL;         //Eindig lijst.



//Loop om getallen uit te printen.
getallenlijst *current = n;
while( current != NULL ) {
cout << (*current).getal1 << endl;
cout << (*current).getal2 << endl;
cout << (*current).getal3 << endl;
current = current->next;
}

        delete n;
                return 0;
}

我希望使用while循环我遍历结构(列表)并cout我创建的所有整数。但它实际上似乎只显示第一个列表的整数值。

对不起,很多声明和评论都是荷兰语,我从未想过我会发布这个并提出问题。

有人愿意让我朝正确的方向点头吗? (我认为这是因为在我的第一个列表中,下一个指针可能是空的但我不知道如何解决它)

提前谢谢。

编辑:添加了我的代码中缺少的部分,但没有复制和粘贴。

0 个答案:

没有答案