Se consideră o listă liniară simplu înlănțuită, alocată dinamic, în care elementele sunt de tipul declarat mai jos:
struct nod{ int info; nod *urm; };
în care câmpul info
memorează un număr întreg, iar câmpul urm
memorează adresa următorului element al listei.
Cerința
Să se scrie o funcție C++ cu următorul prototip:
void sortareCrescator(nod *&prim)
care sortează crescător elementele listei al cărei prim element are adresa memorată în prim
.
Restricții și precizări
- numele funcției va fi
sortareCrescator
- lista va conține cel puțin
3
elemente
Exemplu:
Dacă lista este formată din valorile (5, 3, 9, 4, 2, 12)
, după apelul funcţiei ea va conţine elementele (2, 3, 4, 5, 9, 12)
.
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema FSortare :
void sortareCrescator(nod *&prim)
{
// lista are cel putin 3 elemente. :D
for(nod *temp1 = prim; temp1->urm; temp1 = temp1->urm)
for(nod *temp2 = temp1->urm; temp2; temp2 = temp2->urm)
if(temp1->info > temp2->info) {
int aux = temp1->info;
temp1->info = temp2->info;
temp2->info = aux;
}
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #1476 FSortare
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #1476 FSortare de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!