Listas

Páginas: 6 (1453 palabras) Publicado: 25 de noviembre de 2012
1. Realizar una algoritmo para realizar la adición de un nodo al final de la lista

void AdicionarAlFinal(nodo **list,int dat)
{
nodo *p=new(struct nodo),*t;
p->dato=dat;
p->sgte=NULL;
if(*list==NULL)
*list=p;
else
{
t=*list;
while(t->sgte!=NULL)
t=t->sgte;
t->sgte=p;
}}

2. Realizar un algoritmo para realizar la búsqueda por valor de elemento de la lista enlazada

void BuscarElemento(nodo **list,int dat)
{
nodo *p;
p=*list;
if(p==NULL)
cout<<"La lista esta vacia"<<endl;
else{
while(p!=NULL)
{
if(p->dato==dat)break;
else
p=p->sgte;
}
if(p!=NULL)
cout<<"Se encontro el elemento en la lista"<<endl;
else
cout<<"No se encontro elemento en la lista"<<endl;

}
}

3. Realzar un algoritmo para realizar la inserción de un nodopor posición en la lista enlazada

void IngresarPorPosicion(nodo **list, int dat, int pos)
{
int po=0;
nodo *p=new(struct nodo),*t;
p->dato=dat;
p->sgte=NULL;
if(*list==NULL)
*list=p;
else
{
t=*list;
while(po!=pos&&t->sgte!=NULL)
{
po=po+1;
t=t->sgte;}
//Si la posicion no existe en la lista el elemento se coloca al final
if(t->sgte==NULL)
t->sgte=p;
else
{
p->sgte=(t->sgte)->sgte;
t->sgte=p;
}
}
}

4. Realizar un algoritmo para realizar la inserción de un nodo por valor en la lista

void IngresarPorValor(nodo**list, int dat, int valor)
{
int po=0;
nodo *p=new(struct nodo),*t;
p->dato=dat;
p->sgte=NULL;
if(*list==NULL)
*list=p;
else
{
t=*list;
while(valor!=t->dato&&t->sgte!=NULL)
{
po=po+1;
t=t->sgte;
}
//Si el valor no existeen la lista el elemento se coloca al final
if(t->sgte==NULL)
t->sgte=p;
else
{
t->dato=p->dato;
}
}
}
5. Realizar un algoritmo para realizar la eliminación de un nodo por posición en la lista
void eliminarpos(){
NODO *p;
int pos, i=1;
cout<<"Ingrese posicion a eliminar : ";cin>>pos;
if(cab==NULL)
cout<<"\n\nLista vacia ";
else{
aux=cab;
while(i<pos-1)
{aux=aux->SIG;
i++;
}
p=aux->SIG;
aux->SIG=p->SIG;
}
}
6. Realizar un algoritmo para realizar la eliminación de un nodo por valor en la lista
void eliminarpos(){NODO *p;
int pos, i=1;
cout<<"Ingrese posicion a eliminar : ";
cin>>pos;
if(cab==NULL)
cout<<"\n\nLista vacia ";
else{
aux=cab;
while(i<pos-1)
{aux=aux->SIG;
i++;
}
p=aux->SIG;
aux->SIG=p->SIG;
}
}

7.Realizar un algoritmo para realizar el ordenamiento de una lista por orden creciente y orden decreciente
Orden descendente
void ordenarasdes(){
NODO *aux2;
int men,opc;
cout<<"se ordenara de manera descendente ";
aux=cab;
aux2=cab;
do{
do{
if(aux->DATO>aux2->DATO){
men=aux->DATO;...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Listas
  • lista
  • Listas
  • listado
  • Listas
  • listado
  • listen
  • listo

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS