Estructuras de datos

Informática. Computación. Listas enlazadas o ligadas. Nodos

  • Enviado por: Elais
  • Idioma: castellano
  • País: Bolivia Bolivia
  • 7 páginas
publicidad
publicidad

EJEMPLOS DE ESTRUCTURA DE DATOS.

Lista Enlazada.

#include <iostream.h>

#include <conio.h>

typedef struct nodo {

int dato;

struct nodo *sgte;

} lista;

void add (lista **cab) {

lista *b,*a;

b=new lista;

cout<<"Introduzca un dato: ";

cin>>b->dato;

b->sgte=NULL;

if (*cab==NULL)

*cab=b;

else {

while (a->sgte!=NULL)

a=a->sgte;

a->sgte=b;

}

}

void listado (lista *z) {

if (z->dato==NULL)

cout<<"Lista vac¡a...";

else {

while (z!=NULL) {

cout<<z->dato;

z=z->sgte;

}

}

}

void main () {

clrscr ();

lista *A=NULL;

int op;

do {

clrscr ();

cout<<"1. Add."<<endl;

cout<<"2. Listado."<<endl;

cout<<"3. FIN."<<endl;

cout<<endl<<"Elija una opci¢n: ";

cin>>op;

switch (op) {

case 1: clrscr ();

add (&A);

break;

case 2: clrscr ();

listado (A);

getch ();

break;

}

}

while (op!=3);

}

Nodos.

#include <iostream.h>

#include <conio.h>

#include <stdlib.h>

#include <stdio.h>

typedef struct x {

int dato;

struct x *sgte;

}lista;

void adda(lista **cab1) {

clrscr ();

lista *a,*b;

b=new lista;

cout<<"\n Ingrese un dato: ";

cin>>b->dato;

b->sgte=NULL;

if (*cab1==NULL)

*cab1=b;

else {

a=*cab1;

while (a->sgte!=NULL)

a=a->sgte;

a->sgte=b;

}

}

void addb(lista **cab2) {

clrscr ();

lista *a,*b;

b=new lista;

cout<<"\n Ingrese un dato: ";

cin>>b->dato;

b->sgte=NULL;

if (*cab2==NULL)

*cab2=b;

else {

a=*cab2;

while (a->sgte!=NULL)

a=a->sgte;

a->sgte=b;

}

}

void addab(lista *cab1,lista *cab2,lista *cab3) {

lista *c;

while (cab1!=NULL)

adda=*cab1->dato;

c=new lista;

}

void listado1 (lista *cab1) {

clrscr ();

while (cab1!=NULL)

{

cout<<cab1->dato<<endl;

cab1=cab1->sgte;

}

}

void listado2 (lista *cab2) {

clrscr ();

while (cab2!=NULL)

{

cout<<cab2->dato<<endl;

cab2=cab2->sgte;

}

}

void listado3 (lista *cab) {

while (cab!=NULL)

{

cout<<cab->dato<<endl;

cab=cab->sgte;

}

}

void main() {

clrscr();

lista *cab1=NULL;

lista *cab2=NULL;

// lista *cab3=NULL;

int i;

do {

clrscr ();

cout<<"\n 1. Crear A.";

cout<<"\n 2. Crear B.";

cout<<"\n 3. Crear AB.";

cout<<"\n 4. Listado A.";

cout<<"\n 5. Listado B.";

cout<<"\n 6. Listado AB.";

cout<<"\n 7. FIN.\n";

cout<<"\n Elija una opci¢n: ";

cin>>i;

switch(i)

{

case 1: adda(&cab1);

break;

case 2: addb(&cab2);

break;

case 3: addab(cab1,cab2);

break;

case 4: listado1(cab1);

getch ();

break;

case 5: listado2(cab2);

getch ();

break;

case 6: listado3(cab);

break;

}

while (i!=7);