3740 pbinfo
Se consideră o listă liniară dublu înlănțuită, alocată dinamic, în care elementele sunt de tipul declarat mai jos:
struct nod{
int info;
nod * ant,*urm;
};
în care câmpul info memorează un număr întreg, câmpul ant memorează adresa elementului anterior al listei, iar campul urm memorează adresa elementului următor al listei.
Cerința
Să se scrie o funcție C++ cu următorul prototip:
void AdaugareFinal(nod * & prim , nod * & ultim, int x);
care adaugă valoarea x la sfârșitul listei pentru care primul element are adresa memorată în pointerul prim si ultimul element are adresa memorata in pointerul ultim .
Restricții și precizări
numele funcției va fi AdaugareFinal
dacă lista nu conține niciun element, pointerul prim si ultim va avea valoarea NULL
în toate cazurile, la ieșirea din apel prim va memora adresa primului element al listei, iar ultim va memora adresa ultimului element al listei
s-a modificat enuntul si structura de aceea solutiile mai vechi nu vor lua 100 pct
Important
Soluţia propusă va conţine definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.
Răspunsuri la întrebare
Răspuns de
2
Răspuns:
Salut! ༼ つ ◕_◕ ༽つ
Ai mai jos rezolvarea problemei #3740 de pe pbinfo
---------------------------------------
void AdaugareFinal(nod * & prim , nod * & ultim, int x){
nod *nou = new nod;
if(ultim == NULL){
// lista este vida
nou -> ant = NULL;
nou -> urm = NULL;
nou -> info = x;
prim = ultim = nou;
}
else{
ultim -> urm = nou;
nou -> ant = ultim;
nou -> urm = NULL;
nou -> info = x;
ultim = ultim -> urm;
}
}
---------------------------------------
#copaceibrainly
Alte întrebări interesante
Fizică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Fizică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
9 ani în urmă