0% encontró este documento útil (0 votos)
293 vistas3 páginas

Lista Enlazada Simple

Este documento presenta un programa en C++ para implementar listas enlazadas. Define una estructura nodo con dos campos (num e sgte) y funciones para insertar nodos al inicio y final de la lista, imprimir la lista, y eliminar nodos basados en su valor. El programa principal contiene un menú con estas opciones para probar la lista enlazada.

Cargado por

ricardo fallas
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
293 vistas3 páginas

Lista Enlazada Simple

Este documento presenta un programa en C++ para implementar listas enlazadas. Define una estructura nodo con dos campos (num e sgte) y funciones para insertar nodos al inicio y final de la lista, imprimir la lista, y eliminar nodos basados en su valor. El programa principal contiene un menú con estas opciones para probar la lista enlazada.

Cargado por

ricardo fallas
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 3

//Programa Codigo C++ Listas Enlazadas

//Universidad Castro Carazo


//Curso de Estructura de Datos
#include <iostream>
#include <stdlib.h>
using namespace std;

struct nodo{
int num; //Variable entera
struct nodo *sgte; //Variable de tipo puntero
};
typedef struct nodo *Tlista;

//Insertar nodos al final de la lista.

void insertarF (Tlista &inicio, int valor)


{
Tlista temp,aux;
temp=new(struct nodo);
temp->num=valor;
temp->sgte=NULL;
if (inicio==NULL)
inicio=temp;
else
{
aux=inicio;
while (aux->sgte!=NULL)
aux=aux->sgte;
aux->sgte= temp;
}

}
// Insertar nodos al inicio de la lista
void insertarI (Tlista &inicio, int valor)
{
Tlista temp,aux;
temp=new(struct nodo);
temp->num=valor;
temp->sgte=NULL;
if (inicio==NULL)
inicio=temp;
else
{
temp->sgte=inicio;
inicio=temp;
}
}

// Imprimir la lista enlazada


void imprimir(Tlista &inicio)
{
int i=0;
Tlista ptr;
ptr=inicio;
while (ptr!=NULL)
{
cout<< ' '<<i+1 <<") "<<ptr->num <<endl;
ptr=ptr->sgte;
i++;
}

//Eliminar un nodo de la lista

void eliminarnodo (Tlista &inicio, int valor)


{
Tlista ptr,ant;
if(inicio->num==valor)
{
ptr=inicio;
inicio=inicio->sgte;
delete(ptr);
}
else
{
ant=NULL;
ptr=inicio;
while(ptr->num!=valor)
{
ant=ptr;
ptr=ptr->sgte;
}
ant->sgte=ptr->sgte;
delete (ptr);
}
}

void menu1()
{
cout<<"\n\t\tLista Enlazadas \n\n"<<endl;
cout<<"1. Insertar nodo Final "<<endl;
cout<<"2. Insertar nodo inicio "<<endl;
cout<<"3. Insertar "<<endl;
cout<<"4. Imprimir la lista "<<endl;
cout<<"5. Eliminar nodo "<<endl;
cout<<"6. Buscar nodo "<<endl;
// Si el nodo esta y que posición se encuentra
cout<<"7. Salir "<<endl;
cout<<"\n Ingrese la opción ";
}

// Modulo principal

int main()
{
Tlista inicio = NULL;
int op;
int dato;
int pos;
do
{
menu1();
cin>> op;

switch(op)
{
case 1:
cout<< "\n NUMERO A INSERTAR: "; cin>> dato;
insertarF(inicio,dato);
break;
case 2:
cout<< "\n NUMERO A INSERTAR: "; cin>> dato;
insertarI(inicio,dato);
break;
case 3:
break;
case 4:
cout<< "\n Impresion de la Lista "<<endl;
if (inicio==NULL)
cout<< "\n La lista esta vacía "<<endl;
else
imprimir(inicio);
break;
case 5:
cout<< "\n Eliminar nodo de la lista "<<endl;
if (inicio==NULL)
cout<< "\n La lista esta vacía "<<endl;
else
{
cout<< "\n Digite el número a Eliminar: ";
cin>> dato;
eliminarnodo(inicio,dato);
}
break;
case 6:

break;
}
cout<<endl;
system("pause");
system("cls");
}while (op!=6);
system("pause");
return 0;
}

También podría gustarte