Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lista Enlazada Simple
Lista Enlazada Simple
Una lista enlazada es una de las estructuras de datos fundamentales, y puede ser
usada para implementar otras estructuras de datos. Consiste en una secuencia
de nodos, en los que se guardan campos de datos arbitrarios y una o dos
referencias, enlaces o punteros al nodo anterior o posterior. El principal beneficio
de las listas enlazadas respecto a los vectores convencionales es que el orden de
los elementos enlazados puede ser diferente al orden de almacenamiento en la
memoria o el disco, permitiendo que el orden de recorrido de la lista sea diferente
al de almacenamiento.
#include<stdio.h>
#include<conio.h>
#include<stdlib.h> // Biblioteca que permite el uso de la función free
#include<iostream>
using namespace std;
struct nodo{
int info;
struct nodo *sig;
};
struct nodo *CAB=NULL, *AUX=NULL, *P=NULL;
int valor;
void insertar(void);
void mostrar(void);
void elimina(void);
int j;
void elimina(void){
int x, sw=1,i;
printf("%d valor de cab",CAB);
if(CAB==NULL){
printf("\n¡¡Lista vacia!!...");
getch();
}
else{
printf("\nEliminar el elemento...");
scanf("%d", &x);
for(i=0;i<=2;i++){
P=CAB;
while(((P->info)!=x)&&(sw==1)){//entra
if((P->sig)!=NULL){
AUX=P;
P=P->sig;
}
else
sw=0;
}
if(sw==0){
getch();
}
else{
if(P==CAB)
CAB=CAB->sig;
else{
free(P);
printf("\n%d ha sido eliminado", x);
}
}
getch();
}//termina for
}
} //fin de eliminar el elemento
void mostrar(void){
if(CAB==NULL){
printf("\n¡¡Lista vacia!!...");
getch();
return;
}
AUX=CAB;
printf("\nContenido de la lista\n");
while(AUX!=NULL){
printf("%d\t",AUX->info);
AUX=AUX->sig;
}
getch();
}//fin de mostrar