Informatică, întrebare adresată de Axelandru750, 9 ani în urmă

Se consideră o listă liniară simplu înlănțuită, alocată dinamic, în care elementele sunt de tipul declarat mai jos:

view sourceprint?
1.
struct nod{
2.
int info;
3.
nod *urm;
4.
};
î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:

view sourceprint?
1.
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).

Problema #1476 de pe Pbinfo

Răspunsuri la întrebare

Răspuns de boiustef
0

Răspuns:

void sortareCrescator(nod *&prim)

{

   nod *q=prim, *r;

   int x;

   while (q->urm!=NULL)

   {

       r=q->urm;

       while (r!=NULL)

       {

           if (q->info>r->info)

           {

               x=q->info; q->info=r->info; r->info=x;

           }

           r=r->urm;

       }

       q=q->urm;

   }

}

Explicație:

Alte întrebări interesante