Aca esta un video de como debería funcionar el sistema
http://youtu.be/kWsHzT2h4Yg
http://youtu.be/kWsHzT2h4Yg
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
using namespace std;
typedef int TD;
struct NODO {
TD valor;
NODO *sgte;
};
void crearLista(NODO **cab);
void insertarNodo(NODO **cab, int dato);
void mostrarLista(NODO *cab);
int listaVacia(NODO *cab);
int main()
{
NODO *A;
crearLista(&A);
insertarNodo(&A, 20);
insertarNodo(&A, 30);
insertarNodo(&A, 5);
insertarNodo(&A, 80);
insertarNodo(&A, 34);
insertarNodo(&A, 10);
mostrarLista(A);
system("PAUSE");
return 0;
}
void crearLista(NODO **cab)
{
*cab=NULL;
}
//Inserta elmentos en forma ordenada
void insertarNodo(NODO **cab, int dato)
{
//NODO nuevo, anterior;
NODO *neo, *p;
neo = (NODO*)malloc(sizeof(NODO));
neo->valor = dato;
// Si la lista está vacía
if(listaVacia(*cab) || (*cab)->valor > dato) {
//Añadimos la lista a continuación del nuevo nodo
neo->sgte = *cab;
//Ahora, la lista tiene un nuevo nodo
*cab = neo;
}
else {
// Buscar la posicion adecuiada para el nuevo nodo
p = *cab;
// Busca la posicion adecuada para dato
while(p->sgte && p->sgte->valor <= dato){
p = p->sgte;
}
neo->sgte = p->sgte;
p->sgte = neo;
}
}
void mostrarLista(NODO *cab)
{
NODO *p = cab;
if(listaVacia(p))
printf("Lista vacía\n");
else {
while(p) {
printf("%d -> ", p->valor);
p = p->sgte;
}
printf("\n");
}
}
int listaVacia(NODO *cab)
{
return (cab == NULL);
}