Foro 1 Semana 5 de Admin1 de Admin1 Demo - martes, 5 de septiembre de 2017, 10:05
Según su criterio, ¿es posible eliminar un elemento ubicado en cualquier posición de la lista? Si su respuesta es positiva, explicar cómo sería el procedimiento. De ser negativa justifíquela. Al mismo tiempo, ¿en cuál tipo de lista es más óptima la eliminación, la lista enlazada simple o la lista enlazada circular? Primero es importante tener en cuenta qué es o para qué sirve una lista enlazada; la que en estricto rigor corresponde a un conjunto de elementos llamados nodos, donde cada uno de ellos puede guardar datos y unirse a otros nodos. Estos “nodos” tienen 2 elementos a considerar; por una parte, para almacenar la data y, también otro para el - enlace, que nos determinará la posición del siguiente nodo. - En una lista circular: - No existe algún elemento elemento que apunte a NULL - Se integra una estructura estructura tipo anillo - Solo hay una cabeza cabeza - La cabeza siempre será el siguiente enlace para algún nodo - Se pueden llegar a crear recorridos en bucles infinitos Declaraciones de tipos para manejar listas circulares Lista con más de un elemento El primer paso es conseguir que lista apunte al nodo anterior al que queremos eliminar. Esto se consigue haciendo que lista valga lista->siguiente mientras lista>siguiente sea distinto de nodo. 2. Hacemos que lista->siguiente apunte a nodo->siguiente. 3. Eliminamos el nodo. Recordemos que una lista enlazada consta de d e un número de elementos y cada elemento tiene dos componentes (campos), un puntero al siguiente elemento de la lista y un valos, que puede ser de cualquier tipo
-
Foro 2 Semana 5 de Admin1 de Admin1 Demo - martes, 5 de septiembre de 2017, 10:05
Sea el caso que exista ex ista una lista de elementos numéricos, ¿es posible po sible ingresar caracteres dentro de la lista? Justifique su respuesta para una lista simple y una lista circular. Si es posible, ya que la lista enlazada es un TDA (Tipo de Dato Abstracto) que nos permite almacenar datos de una forma organizada, al igual que los vectores pero, a diferencia de estos, esta estructura es dinámica, por lo que no tenemos que saber "a priori" los elementos que puede contener. En ambos casos sea una lista enlazada
-
simple o una lista enlazada circular sus implementaciones van más allá de su estructura, pues se puede implementar muy bien un arreglo o una cola utilizando una lista con elementos numéricos y también caracteres, siempre y cuando se conozcan y se diferencien sus operaciones y limitaciones. Es importante destacar que nuestras listas, por lo general son usadas por otro tipo de estructuras, como lo son las pilas y las colas; las cuales pueden presentarse tanto con datos numéricos y caracteres literales; por tanto esta data viene a darse mediante nodos los cuales pueden almacenar distinta data cada uno y, la posibilidad de juntarse con otro tipo de nodo; con ello, podemos darnos cuenta que estos pueden estar en cualquier parte de la memoria; con la salvedad, que buscarán nodos que puedan relacionarlos según la estructura en la cual se encuentren inmersos. Ahora, lo clave de este tipo de mecanismos, es tener claridad en cual será el principio y el final de una lista (cabecera, puntero), ya que de ello dependerá de manera clara qué es lo que se requiere controlar dentro de cada estructura.