Listas enlazadas
Eliminar y buscar en una lista
Mediante un programación en C++, desarrollar un programa haciendo uso de listas para eliminar elemento al inicio, insertar al inicio, imprimir promedio y búsqueda de elemento.
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
struct nodo{
int nro;
struct nodo*sgte;
};
typedef struct nodo*Tlista;
void eliminainicio(Tlista &);
void insertalinicio(Tlista &, int);
void imprimir(Tlista);
int promedio(Tlista &);
int busqueda(Tlista &,int);
void main()
{
Tlista lista=NULL;
int opc,valor,n,i,ele,prm;
do{
cout<<"1.Insertar elementos:"<<endl;
cout<<"2.Eliminar al inicio:"<<endl;
cout<<"3.Promedio:"<<endl;
cout<<"4.Buscar"<<endl;
cout<<"5.Lista:"<<endl;
cout<<"6. Salir"<<endl;
cout<<"Ingrese una opcion:"<<endl;cin>>opc;
switch(opc)
{
case 1:
cout<<"Numero de elementos";cin>>n;
for(i=0;i<n;i++)
{
cout<<"Ingrese elementos = ";cin>>valor;
insertalinicio(lista,valor);
}
break;
case 2:
cout<<"Elimina al inicio";
eliminainicio(lista);
break;
case 3:
cout<<endl<<"Promedio"<<endl;
prm=promedio(lista);
cout<<"El promedio de la lista es:"<<prm<<endl;
break;
case 4:
cout<<endl<<"numero que desea buscar=";
cin>>ele;
if(busqueda(lista,ele)==1)
cout<<"elemento encontrado.n";
else
cout<<"elemento no encontrado.n";
break;
case 5:
cout<<endl<<"Listado"<<endl;
imprimir(lista);
break;
}
}while(opc!=6);
}
void imprimir(Tlista lista)
{
while(lista!=NULL)
{
cout<nro<<endl;
lista=lista->sgte;
}
cout<<endl;
}
void insertalinicio(Tlista &lista,int valor)
{
Tlista q;
q=new(struct nodo);
q->nro=valor;
q->sgte=lista;
lista=q;
}
void eliminainicio(Tlista &lista)
{
struct nodo*p;
if(lista!=NULL)
{
p=lista;
lista=lista->sgte;
delete(p);
}
}
int promedio(Tlista &lista)
{
Tlista q;
q=lista;
int c=0,s=0,x;
while(q!=NULL)
{
s=s+q->nro;
c=c+1;
q=q->sgte;
}
x=s/c;
return x;
}
int busqueda(Tlista &lista, int ele)
{
Tlista q;
q=lista;
while(q!=NULL)
{
if(q->nro==ele)
return 1;
q=q->sgte;
}
return 0;
}
Continuando con Listas enlazadas, les comparto el siguiente post: Insertar, eliminar lista, mostrar pares e impares