Rezolvare completă PbInfo #1476 FSortare

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 Adresa de email.

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!