Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CODIGO FUENTE.
Proceso LISTAS_DOBLEMENTE_LIGADAS
//Cantidad de Números que desea ordenar
Escribir "Ingrese la cantidad de números que se ordenaran";
Leer Num;
Dimension datos(Num);
i<-0;
FinPara
para i <- 1 hasta Num con paso 1 Hacer
minimo <- i;
Para j<-i+1 Hasta Num Con Paso 1 Hacer
Si datos[j] > datos[minimo] Entonces //con > ordena descendente
minimo <- j;
Fin Si
Fin Para
aux <- datos[i];
datos[i] <- datos[minimo];
datos[minimo] <- aux;
FinPara
FinProceso
DIAGRAMA DE FLUJO
CODIGO FUENTE C++
#include<iostream>
#include<conio.h>
#include<stdlib.h>
using namespace std;
struct Nodo{
int dato;
Nodo *siguiente;
Nodo *atras;
};
// Prototipos de Funciones
void menu();
void inLista(Nodo *&,int);
void mostLista(Nodo *);
void mostListaAtr(Nodo *);
menu();
getch();
return 0;
}
void menu(){
int opcion,dato;
// Se crea Menu de Obciones
do{
cout<<"\t.:MENU:\n";
cout<<"1. Insertar Elementos\n";
cout<<"2. Mostrar los Elementos\n";
cout<<"3. Salir\n";
cout<<"\nOpcion: ";
cin>>opcion;
switch(opcion){
case 1: cout<<"\nDigite un Numero para la Lista: ";
cin>>dato;
inLista(lista,dato);
cout<<"\n";
system("pause");
break;
case 2: mostLista(lista);
cout<<"\n";
mostListaAtr(ultimo);
cout<<"\n";
system("pause");
break;
}
system("cls");
}while(opcion != 3);
}
void inLista(Nodo *&lista,int n){
Nodo *nuevo_nodo = new Nodo();
nuevo_nodo->dato =n;
if(lista == NULL){
lista = nuevo_nodo;
lista->siguiente = NULL;
lista->atras = NULL;
ultimo = lista;
}
else{
ultimo->siguiente = nuevo_nodo;
nuevo_nodo->siguiente = NULL;
nuevo_nodo->atras = ultimo;
ultimo = nuevo_nodo;
}
while(actual != NULL){
cout<<actual->dato<<" <- ";
actual = actual->atras;
}
}
Link del video entrega Tarea 3 Algoritmos II