Es tracta de fer una funció sort_stack
que, donada una pila d’enters,
la ordeni sense fer servir cap altra estructura de dades que les piles
que es passen com a paràmetres, excepte alguna variable de tipus enter.
La capçalera de la funció, amb pre-condicions i post-condicions és la següent:
/** * @pre ordenado.empty() * @post 'ordenado' conté els elements d''inicial' ordenats * amb el menor a la part inferior i el major al cim. */ void sort_stack(stack<int>& inicial, stack<int>& ordenado);
Solucions que facin servir res que no siguin només les dues piles s’invalidaran.
Observació Només cal enviar el procediment demanat; el programa principal serà ignorat.
stack_sort([<top>], [<top>]) --> [<top>] stack_sort([-13<top>], [<top>]) --> [-13<top>] stack_sort([0, 7, 3<top>], [<top>]) --> [0, 3, 7<top>] stack_sort([5, 2, 4, 1<top>], [<top>]) --> [1, 2, 4, 5<top>]