Ejercicios sobre listas
01.
Añadir un member function printReverseN(int n)
a la clase Llist
tal que imprima los primeros N elementos en orden inverso. Por ejemplo, si la lista contiene (5, 7, 3, 1)
, L.printReverseN(2)
imprime 7 5
. No utilices variables globales. Es posible que tengas que añadir otros parámetros a la función para que funcione.
02.
Para la clase Llist
, implementar un member function bool palindrome()
que determine si la lista es palíndromo, e.g. si se lee igual de izquierda a derecha y viceversa. Por ejemplo, si L1 = 10, 20, 30, 20, 10
, L.palindrome()
devolverá true
. No tiene que ser in-place. Debe tener complejidad O(n).
03.
Para la clase Llist
, implementar un member function SLList splitAndReturn()
que devuelve la última mitad de la lista y recorta la lista original a su primera mitad. Por ejemplo, si L = 5, 10, 15, 20
. L.splitAndReturn()
devolverá una lista que contiene 15,20
y luego de la invocación L
contendrá 5,10
. Trata de hacer lo en O(n), in-place.