Inicio
Listas
Listas
En este espacio podrás encontrar el código de "LISTAS":
#include
#include
#include
struct Nodo{ int num; Nodo *siguiente; }; void agreg(Nodo *&,int); void impr(Nodo *); void detMayMen(Nodo *); int main(){ Nodo *lista=NULL; int num; char r; do{ printf("\n\t Este programa ejecuta una 'lista' para el uso del cliente."); printf("\n\t Ingresa un numero: "); scanf("\n\t %d", &num); agreg(lista,num); printf("\n\t Quieres integrar otro numero a la lista si o no? (s/n): "); scanf("%s", &r); }while(r=='S' || r=='s'); printf("\n\t Lista: "); impr(lista); detMayMen(lista); } //agregar elementos al final de la lista void agreg(Nodo *&lista,int n){ Nodo *nuevo_nodo = new Nodo(); Nodo *aux; nuevo_nodo->num = n; nuevo_nodo->siguiente = NULL; if(lista == NULL){ //determina el estado de la lista lista = nuevo_nodo; //integra un elemento } else{ aux = lista; //el auxiliar esta al inicio de la lista while(aux->siguiente != NULL){ //recorre la lista aux = aux->siguiente; //avanza posiciones en la lista } aux->siguiente = nuevo_nodo; //se agrega un nodo a la lista } printf("\n\t Se agrego correctamente el numero %d a la lista \n", n); } //Imprime los elementos de la lista void impr(Nodo *lista){ while(lista != NULL){ printf("%d -> ", lista->num); lista = lista->siguiente; } } //Se determina el mayor o menor void detMayMen(Nodo *lista){ int may =0, men=99999; while(lista != NULL){ if((lista->num)>may){ may = lista->num; } if((lista->num)
num; } lista = lista->siguiente; } printf("\n\t El numero menor es: %d", men); printf("\n\t El numero mayor es: %d", may); }
Ver ejecución