Eliminar repetits en una pila

Implementeu una funció RECURSIVA que, donada una pila P com a paràmetre (ordenada de fons cap amunt, i potser amb repeticions), retorna una pila R que conté tots els valors que hi ha a P sense repeticions. La funció és aquesta:

stack<int> uniq(stack<int> s);

Aquí tenim uns exemples de comportament de la funció:

uniq([1 2 2 2 3 5 5 5 5]) = [1 2 3 5]

uniq([1 2 3 4]) = [1 2 3 4]

Observació

Només cal enviar el procediment demanat; el programa principal serà ignorat.

Observació

La vostra funció i subfuncions que creeu han de treballar només amb piles. Heu de trobar una solució RECURSIVA i eficient del problema. En particular, no hi hauria d’haver cap bucle en cap de les funcions que implementeu. Si creeu funcions auxiliars, afegiu-hi les seves PRE/POST. En les crides recursives, incloeu la funció de fita/decreixement.

Avaluació sobre 10 punts:

Coses que poden restar punts a la puntuació anterior:

Informació del problema

Autoria: PRO1

Generació: 2026-01-25T14:11:40.689Z

© Jutge.org, 2006–2026.
https://jutge.org