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 major a la part inferior i el menor al cim. * 'inicial' queda buida. */ 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>]) --> [7, 3, 0<top>] stack_sort([1, 5, 4, 2<top>], [<top>]) --> [5, 4, 2, 1<top>]