Liste

Intrebari despre limbajul C++, standardul C++, STL, OOP in C++ sau alte subiecte nelegate de VisualC++
Post Reply
stelian_2681
Junior
Junior
Posts: 36
Joined: 24 Jun 2013, 23:25
Judet: Olt

Liste

Post by stelian_2681 » 27 Apr 2014, 11:46

Va salut !
Am nevoie de ajutor la urmatorul cod, cod ce realizeaza inserarea unui nod la sfarsitul listei.
Mentionez ca am realizat codul partial.

Code: Select all

#include <iostream>
#include <conio.h>
using namespace std;

struct lista
{
    int info;
    lista *urmatorul_nod;
};

int main()
{
    struct lista *noul_nod;
    struct lista *primul_nod = NULL;
    struct lista *nodul_curent;
    char caracter = '1';
    while (caracter == '1')
    {
        if (primul_nod == NULL)
        {
            noul_nod = new(struct lista);
            cout <<"\n Introduceti un element : ";
            cin >>noul_nod->info;
            primul_nod = noul_nod;
            nodul_curent = noul_nod;
        }
        else if (primul_nod != NULL)
        {
            noul_nod = new(struct lista);
            cout <<"\n Introduceti un element : ";
            cin >>(*noul_nod).info;
            nodul_curent->urmatorul_nod = noul_nod;
            nodul_curent = noul_nod;
        }
        cout <<"\n Vreti sa continuati (Apasa \"1\" sau \"0\") ? -  ";
        caracter = getche();
        cout <<endl;
    }
    nodul_curent->urmatorul_nod = NULL;
    nodul_curent = primul_nod;
    cout <<endl;
    while (nodul_curent != NULL)
    {
        cout <<" "<<nodul_curent->info<<" ->";
        nodul_curent = nodul_curent->urmatorul_nod;
    }
    cout <<" NULL";
    cout<<endl;
    return 0;
}
Nu inteleg urmatoarele linii de cod:
nodul_curent->urmatorul_nod = noul_nod
nodul_curent->urmatorul_nod = NULL
nodul_curent = nodul_curent->urmatorul_nod

Sa luam prima linie din cele trei de mai sus.
nodul_curent->urmatorul_nod = noul_nod este echivalent cu (*nodul_curent).urmatorul_nod = noul_nod.
*nodul_curent este un pointer la structura de tipul lista, iar urmatorul_nod este un membru al structurii.
Nu inteleg nimic din aceasta linie
Mai exact cum se "citeste" aceasta linie ?
Va multumesc anticipat !



User avatar
Marius Bancila
Fondator
Fondator
Posts: 2344
Joined: 11 Jul 2007, 11:45
Judet: Timiş
Location: Timisoara
Contact:

Re: Liste

Post by Marius Bancila » 28 Apr 2014, 16:39

Ca sa intelegi lucrurile astea mai bine, ia o foaie de hartie si deseneaza. Uite aici cum am desenat inserarea unui nou nod intr-o lista simplu inlantuita, in interiorul listei (nu la inceput).
pointeri.png
pointeri.png (13 KiB) Viewed 2329 times
Ti se pare de inteles?
Marius Bancila
Fondator Codexpert, Microsoft MVP VC++
Site personal | Blog

stelian_2681
Junior
Junior
Posts: 36
Joined: 24 Jun 2013, 23:25
Judet: Olt

Re: Liste

Post by stelian_2681 » 28 Apr 2014, 17:45

Va multumesc frumos domnule Bancila !

Post Reply