351
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
3elemente
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).
void sortareCrescator(nod *&prim)
{
nod* pi = prim;
nod* pj = prim;
int aux;
while (pi != NULL)
{
pj = pi -> urm;
while (pj != NULL)
{
if ((pi -> info) > (pj -> info))
{
aux = pi -> info;
pi -> info = pj -> info;
pj -> info = aux;
}
pj = pj -> urm;
}
pi = pi -> urm;
}
}
Comentarii