Professional Documents
Culture Documents
Seminario
CURSO
DOCENTE
ERCE
#include <iostream>
#include <stdlib.h>
using namespace std;
struct nodo{
int nro;
struct nodo *sgte;
};
typedef struct nodo *Tlista;
void insertarInicio(Tlista &lista, int valor)
{
Tlista q;
q = new(struct nodo);
q->nro = valor;
q->sgte = lista;
lista = q;
}
void insertarFinal(Tlista &lista, int valor)
{
Tlista t, q = new(struct nodo);
q->nro = valor;
q->sgte = NULL;
if(lista==NULL)
{
lista = q;
}
else
{
t = lista;
while(t->sgte!=NULL)
{
t = t->sgte;
}
t->sgte = q;
}
}
int insertarAntesDespues()
{
int _op, band;
cout<<endl;
cout<<"\t 1. Antes de la posicion
cout<<"\t 2. Despues de la posicion
"<<endl;
"<<endl;
ant->sgte = p->sgte;
delete(p);
return;
}
ant = p;
p = p->sgte;
}
}
else
cout<<" Lista vacia..!";
}
void eliminaRepetidos(Tlista &lista, int valor)
{
Tlista q, ant;
q = lista;
ant = lista;
while(q!=NULL)
{
if(q->nro==valor)
{
if(q==lista) // primero elemento
{
lista = lista->sgte;
delete(q);
q = lista;
}
else
{
ant->sgte = q->sgte;
delete(q);
q = ant->sgte;
}
}
else
{
ant = q;
q = q->sgte;
}
}// fin del while
cout<<"\n\n Valores eliminados..!"<<endl;
}
void menu1()
{
cout<<"\n\t\tLISTA ENLAZADA SIMPLE\n\n";
Nociones bsicas:
else
fin ->sgte = nuevo;
fin = nuevo;
fin->sgte = NULL;
}
void listado()
{
struct nodo *aux;
aux=ini;
cout<<"LISTADO"<<endl;
cout<<"________"<<endl;
while(aux!=NULL)
{
cout<< aux-> codigo<<endl;
aux=aux->sgte;
}
}
Ahora completamos con otros ejemplos RETO.
while(aux!=NULL)
{
cout<< aux-> codigo<<endl;
aux=aux->sgte;
}
}
Preguntas al respecto:
a) Identifica la estructura lgica en la programacin
b) Evale el componente de struct nodo (---)
3. Ahora le presentamos el cdigo donde el nmero de componentes de
struct nodo se ha incrementado:
#include<iostream>
#include<malloc.h>
using namespace std;
void ingresos();
void listado();
struct nodo{
int codigo;
string apellido;
char sexo;
struct nodo *sgte;
};
struct nodo *ini, *fin;
main()
{
ini=fin=NULL;
for(int i=1;i<=2;i++)
{
ingresos();
}
listado();
system("pause");
}
void ingresos()
{
int codi;
char sex;
string ape;
struct nodo *nuevo;
nuevo=(struct nodo *)malloc(sizeof(struct nodo));
cout<<"Codigo: ";
cin>>codi;
nuevo->codigo=codi;
cout<<"F(Femenino)/M(Masculino):";
cin>>sex;
nuevo->sexo=sex;
cout<<"Apellido paterno:";
cin>>ape;
nuevo->apellido=ape;
if (ini==NULL)
{
ini=nuevo;
}
else
fin ->sgte = nuevo;
fin = nuevo;
fin->sgte = NULL;
}
void listado()
{
struct nodo *aux;
aux=ini;
cout<<"LISTADO"<<endl;
cout<<"________"<<endl;
while(aux!=NULL)
{
cout<< aux-> codigo<<endl;
cout<< aux-> sexo<<endl;
cout<< aux-> apellido<<endl;
aux=aux->sgte;
}
}