Open FacuLL opened 2 weeks ago
Pueden usar el listADT hecho en clase. No es necesario agregarle funciones, se puede hacer la unión, intersección y resta usando los iteradores (tobegin, etc.). Aunque es un poco más largo, por lo que podrían agregar una función listUnion en listADT que dada dos listas retorne una nueva. Cuando dice "sin orden" significa que no hay funciones que tengan que ver con el orden, como por ejemplo el primero o el último elemento, pero para poder hacer la unión y demás te conviene mantenerlos ordenados, sinó serían demasiado ineficientes El usuario podría tener setADT y listADT siempre y cuando sean del mismo tipo. Es la limitación que dijimos en clase de usar TADs "genéricos" definiendo el elemType en el .h Para ser realmente genérico tendríamos que usar void *, pero para fines académicos nos sirve más el uso del typedef para el elemType
Buenas noches! No terminé de entender lo del "sin orden". La lista debe estar ordenada para que union y demas sean eficientes, pero que quisiste decir con que no hay funciones que tengan que ver con el orden?
"sin orden" significa que en el .h no hay ninguna función que te obligue a guardar los datos en forma ordenada, no hay función "primer elemento", "último elemento", ni funciones para recorrerlo en forma ordenada. Pero para poder hacer la unión y demás en forma eficiente te conviene guardarlos en forma ordenada.
Perfecto Marcelo, gracias y perdón por la hora.
Buenas tardes! En este ejercicio:
Mi duda es: ¿Tengo que usar el listADT hecho en clase?. Si es así, ¿puedo agregarle funciones como listUnion?. Además, el ejercicio pide que los elementos no estén en orden, sin embargo el listADT hecho en clase agrega los elementos en forma ordenada. ¿Tendría que crear un nuevo listADT para este ejercicio? La otra duda que me surgió es: Yo, como programador de setADT soy el usuario de listADT. ¿Puedo usar las funciones de iteración de listADT en mi setADT o estaría mal? Pues si el usuario de setADT quisiera usar también listADT y sus iteradores estaría interfiriendo con eso.
Gracias!