Visual C++ .NET - ayuda

 
Vista:

ayuda

Publicado por Gabriela (1 intervención) el 18/03/2007 19:15:28
Necesito el algoritmo de una lista ligada simple ordenada, lista ligada doble y lista circular
o el diagrama de flujo , por favor
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Algoritmos de inserción ordenada en listas (simple, doble, circular)

Publicado por Alejandro (265 intervenciones) el 30/01/2024 20:25:55
Gabriela, a continuación, te proporcionaré algoritmos sencillos para la inserción ordenada en tres tipos de listas: simple, doble y circular. Además, para ayudarte a visualizar mejor los algoritmos, presentaré un diagrama de flujo general que abarca los tres casos. Ten en cuenta que estos son algoritmos básicos, y es posible que desees ajustarlos según tus necesidades específicas.

Algoritmo para inserción ordenada en lista ligada simple:



1. Inicializar la lista.
2. Crear un nuevo nodo con el valor a insertar.
3. Si la lista está vacía o el valor a insertar es menor al valor del primer nodo:
- Hacer que el nuevo nodo sea el nuevo primer nodo.
4. De lo contrario:
- Recorrer la lista hasta encontrar el lugar donde el valor sea menor al siguiente nodo.
- Insertar el nuevo nodo antes de ese nodo.

Algoritmo para inserción ordenada en lista ligada doble:



1. Inicializar la lista.
2. Crear un nuevo nodo con el valor a insertar.
3. Si la lista está vacía o el valor a insertar es menor al valor del primer nodo:
- Hacer que el nuevo nodo sea el nuevo primer nodo.
- Establecer el siguiente nodo del nuevo nodo como el antiguo primer nodo.
4. De lo contrario:
- Recorrer la lista hasta encontrar el lugar donde el valor sea menor al siguiente nodo.
- Insertar el nuevo nodo antes de ese nodo.
- Ajustar los punteros del nodo anterior y siguiente para enlazar correctamente.

Algoritmo para inserción ordenada en lista circular:



1. Inicializar la lista.
2. Crear un nuevo nodo con el valor a insertar.
3. Si la lista está vacía o el valor a insertar es menor al valor del primer nodo:
- Hacer que el nuevo nodo sea el nuevo primer nodo.
- Establecer el siguiente nodo del nuevo nodo como el antiguo primer nodo.
- Hacer que el último nodo apunte al nuevo nodo.
4. De lo contrario:
- Recorrer la lista hasta encontrar el lugar donde el valor sea menor al siguiente nodo.
- Insertar el nuevo nodo antes de ese nodo.
- Ajustar los punteros del nodo anterior y siguiente para enlazar correctamente.
- Si el nuevo nodo se inserta al principio, actualizar el primer nodo.

Diagrama de flujo general:



Diagrama de flujo - inserción ordenada en listas (https://i.imgur.com/OMG8Md1.png)

Este diagrama de flujo abarca la lógica general para la inserción ordenada en las tres estructuras de lista. Ten en cuenta que puedes ajustar y detallar estos algoritmos según la implementación específica en el lenguaje de programación que estés utilizando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar