SlideShare una empresa de Scribd logo
1 de 3
Descargar para leer sin conexión
/*Programa de listas con apuntadores dinámicos
M. I. Blanca Elia Jiménez Guzmán
Noviembre de 2013*/
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <ctype.h>
using namespace std;
void push(void);
void pop(void);
void recorrido(void);
void busqueda(void);
int buscar(int dato);
void menu(void);
void tecla(void);
struct ficha
{
int num;
struct ficha *sig;
} *aux1,*aux2,*nvo,*pri;
int e=0, numero;
int main()
{
system("cls");
aux1=NULL;
aux2=NULL;
pri=NULL;
menu();
return 0;
}
void menu(void)
{
char op='1';
while (op!='5')
{
system("cls");
cout <<"nMenu para listas dinamicas"<<endl;
cout <<"1.- Insertar"<<endl;
cout <<"2.- Eliminar"<<endl;
cout <<"3.- Buscar"<<endl;
cout <<"4.- Recorrido"<<endl;
cout <<"5.- Salir"<<endl;
cout <<"Selecciona una opcion ";op=getche();
system("cls");
switch (op)
{
case '1': push();
break;
case '2': pop();
break;
case '3': busqueda();
break;
case '4': recorrido();
break;
}
}
}
void push(void)
{
nvo=new ficha;
cout <<"nNumero: ";
cin>>nvo->num;
nvo->sig=NULL;
if(pri==NULL)
pri=nvo;
else
{
e=buscar(nvo->num);
if(e==1)
cout<<"Dato repetido";
else
{
if(nvo->num<aux1->num && aux1==pri)
{
nvo->sig=pri;
pri=nvo;
}
else if(aux1->sig==NULL && nvo->num > aux1->num)
aux1->sig=nvo;
else
{
aux2->sig=nvo;
nvo->sig=aux1;
}
}
}
tecla();
}
void pop(void)
{
char seg;
if(pri==NULL)
cout<<"nLista vacia"<<endl;
else
{
cout <<"nNumero a borrar: ";
cin>>numero;
e=buscar(numero);
if(e==1)
{
cout<<"Dato a borrar: "<<aux1->num<<" ¿Estas seguro [s/n]? ";
seg=tolower(getche());
if (seg=='s')
{
if(aux1==pri)
pri=aux1->sig;
else
aux2->sig=aux1->sig;
delete aux1;
cout<<"nDato borrado";
}
}
else
cout<<"Dato no encontrado"<<endl;
}
tecla();
}
void recorrido(void)
{
if (pri==NULL)
cout <<"nLista vacia";
else
{
aux1=pri;
while (aux1!=NULL)
{
cout<<aux1->num<<" --> ";
aux1=aux1->sig;
}
}
tecla();
}
void busqueda(void)
{
if(pri==NULL)
cout<<"nLista vacia"<<endl;
else
{
cout <<"nNumero a buscar: ";
cin>>numero;
e=buscar(numero);
if(e==1)
{
cout<<"nDato encontrado";
cout<<"nNumero: "<<aux1->num;
}
else
cout<<"nDato no encontrado"<<endl;
}
tecla();
}
int buscar(int dato)
{
int encuentra=0;
aux1=pri;
while(aux1->num<dato && aux1->sig!=NULL)
{
aux2=aux1;
aux1=aux1->sig;
}
if(aux1->num==dato)
encuentra=1;
return (encuentra);
}
void tecla(void)
{
cout<<"nPresiona una tecla para continuar"<<endl;
getch();
}

Más contenido relacionado

La actualidad más candente

JUEGO CONCENTRECE PARA ENTORNO DEV C++
JUEGO CONCENTRECE PARA ENTORNO DEV C++JUEGO CONCENTRECE PARA ENTORNO DEV C++
JUEGO CONCENTRECE PARA ENTORNO DEV C++Freddy Fuentes
 
Identificar Las Llaves Primarias Y ForáNeas
Identificar Las Llaves Primarias Y ForáNeasIdentificar Las Llaves Primarias Y ForáNeas
Identificar Las Llaves Primarias Y ForáNeasDiegoFGaleano
 
Correccion de la prueba mfsi
Correccion de la prueba mfsiCorreccion de la prueba mfsi
Correccion de la prueba mfsiPamela Zambrano
 
Coloreo
ColoreoColoreo
ColoreoJorge
 
Gustavo medina
Gustavo medinaGustavo medina
Gustavo medinaFacebook
 
Ejercicios de c++
Ejercicios de c++Ejercicios de c++
Ejercicios de c++fernandomch
 
6... producciones por derecha e izquierda
6... producciones por derecha e izquierda6... producciones por derecha e izquierda
6... producciones por derecha e izquierdaJacqui Venegas
 
Instituto..
Instituto..Instituto..
Instituto..packin
 
La mejor herramienta. alex penso en c++
La mejor herramienta. alex penso  en c++La mejor herramienta. alex penso  en c++
La mejor herramienta. alex penso en c++Alex Penso Romero
 

La actualidad más candente (17)

JUEGO CONCENTRECE PARA ENTORNO DEV C++
JUEGO CONCENTRECE PARA ENTORNO DEV C++JUEGO CONCENTRECE PARA ENTORNO DEV C++
JUEGO CONCENTRECE PARA ENTORNO DEV C++
 
Sumaoctal
SumaoctalSumaoctal
Sumaoctal
 
Include
IncludeInclude
Include
 
Programa
ProgramaPrograma
Programa
 
Blog
BlogBlog
Blog
 
Identificar Las Llaves Primarias Y ForáNeas
Identificar Las Llaves Primarias Y ForáNeasIdentificar Las Llaves Primarias Y ForáNeas
Identificar Las Llaves Primarias Y ForáNeas
 
Practica de programacion 21 28
Practica de programacion 21 28Practica de programacion 21 28
Practica de programacion 21 28
 
Correccion de la prueba mfsi
Correccion de la prueba mfsiCorreccion de la prueba mfsi
Correccion de la prueba mfsi
 
Coloreo
ColoreoColoreo
Coloreo
 
Practica
PracticaPractica
Practica
 
Gustavo medina
Gustavo medinaGustavo medina
Gustavo medina
 
Funciones
FuncionesFunciones
Funciones
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Ejercicios de c++
Ejercicios de c++Ejercicios de c++
Ejercicios de c++
 
6... producciones por derecha e izquierda
6... producciones por derecha e izquierda6... producciones por derecha e izquierda
6... producciones por derecha e izquierda
 
Instituto..
Instituto..Instituto..
Instituto..
 
La mejor herramienta. alex penso en c++
La mejor herramienta. alex penso  en c++La mejor herramienta. alex penso  en c++
La mejor herramienta. alex penso en c++
 

Similar a Listas con apuntadores dinámicos (13)

Informe tecnico u 3-victor uex
Informe tecnico u 3-victor uexInforme tecnico u 3-victor uex
Informe tecnico u 3-victor uex
 
Do while
Do whileDo while
Do while
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Ejemplos c++
Ejemplos c++Ejemplos c++
Ejemplos c++
 
Rubenmajano
RubenmajanoRubenmajano
Rubenmajano
 
Include
IncludeInclude
Include
 
Practicas programacion 1 10
Practicas programacion 1 10Practicas programacion 1 10
Practicas programacion 1 10
 
Codigo de metodo de Shakesort de ordenamiento
Codigo de metodo de Shakesort de ordenamientoCodigo de metodo de Shakesort de ordenamiento
Codigo de metodo de Shakesort de ordenamiento
 
Do while ss
Do while ssDo while ss
Do while ss
 
Jose
JoseJose
Jose
 
Jenni
JenniJenni
Jenni
 
Jenni
JenniJenni
Jenni
 

Más de Blanca Elia Jiménez Guzmán (16)

Base de datos simples
Base de datos simplesBase de datos simples
Base de datos simples
 
Ordenacion
OrdenacionOrdenacion
Ordenacion
 
Arboles
ArbolesArboles
Arboles
 
Recursion
RecursionRecursion
Recursion
 
Tema IV elementos de SQL
Tema IV elementos de SQLTema IV elementos de SQL
Tema IV elementos de SQL
 
Tema III tipos de datos de MySQL
Tema III tipos de datos de MySQLTema III tipos de datos de MySQL
Tema III tipos de datos de MySQL
 
Modelo Grafo Relacional
Modelo Grafo RelacionalModelo Grafo Relacional
Modelo Grafo Relacional
 
Diseño de bases de datos
Diseño de bases de datosDiseño de bases de datos
Diseño de bases de datos
 
Insertar en listas dinámicas
Insertar en listas dinámicasInsertar en listas dinámicas
Insertar en listas dinámicas
 
Listas enlazadas
Listas enlazadasListas enlazadas
Listas enlazadas
 
Arreglo de estructuras con apuntadores estáticos
Arreglo de estructuras con apuntadores estáticosArreglo de estructuras con apuntadores estáticos
Arreglo de estructuras con apuntadores estáticos
 
Arreglo de estructuras
Arreglo de estructurasArreglo de estructuras
Arreglo de estructuras
 
Apuntadores
ApuntadoresApuntadores
Apuntadores
 
Colas estáticas. IESIT
Colas estáticas. IESITColas estáticas. IESIT
Colas estáticas. IESIT
 
Pilas estáticas. IESIT
Pilas estáticas. IESITPilas estáticas. IESIT
Pilas estáticas. IESIT
 
Basedatos
BasedatosBasedatos
Basedatos
 

Último

RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 

Último (20)

RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 

Listas con apuntadores dinámicos

  • 1. /*Programa de listas con apuntadores dinámicos M. I. Blanca Elia Jiménez Guzmán Noviembre de 2013*/ #include <iostream> #include <conio.h> #include <stdlib.h> #include <ctype.h> using namespace std; void push(void); void pop(void); void recorrido(void); void busqueda(void); int buscar(int dato); void menu(void); void tecla(void); struct ficha { int num; struct ficha *sig; } *aux1,*aux2,*nvo,*pri; int e=0, numero; int main() { system("cls"); aux1=NULL; aux2=NULL; pri=NULL; menu(); return 0; } void menu(void) { char op='1'; while (op!='5') { system("cls"); cout <<"nMenu para listas dinamicas"<<endl; cout <<"1.- Insertar"<<endl; cout <<"2.- Eliminar"<<endl; cout <<"3.- Buscar"<<endl; cout <<"4.- Recorrido"<<endl; cout <<"5.- Salir"<<endl; cout <<"Selecciona una opcion ";op=getche(); system("cls"); switch (op) { case '1': push(); break; case '2': pop(); break; case '3': busqueda(); break; case '4': recorrido(); break; } } }
  • 2. void push(void) { nvo=new ficha; cout <<"nNumero: "; cin>>nvo->num; nvo->sig=NULL; if(pri==NULL) pri=nvo; else { e=buscar(nvo->num); if(e==1) cout<<"Dato repetido"; else { if(nvo->num<aux1->num && aux1==pri) { nvo->sig=pri; pri=nvo; } else if(aux1->sig==NULL && nvo->num > aux1->num) aux1->sig=nvo; else { aux2->sig=nvo; nvo->sig=aux1; } } } tecla(); } void pop(void) { char seg; if(pri==NULL) cout<<"nLista vacia"<<endl; else { cout <<"nNumero a borrar: "; cin>>numero; e=buscar(numero); if(e==1) { cout<<"Dato a borrar: "<<aux1->num<<" ¿Estas seguro [s/n]? "; seg=tolower(getche()); if (seg=='s') { if(aux1==pri) pri=aux1->sig; else aux2->sig=aux1->sig; delete aux1; cout<<"nDato borrado"; } } else cout<<"Dato no encontrado"<<endl; } tecla(); }
  • 3. void recorrido(void) { if (pri==NULL) cout <<"nLista vacia"; else { aux1=pri; while (aux1!=NULL) { cout<<aux1->num<<" --> "; aux1=aux1->sig; } } tecla(); } void busqueda(void) { if(pri==NULL) cout<<"nLista vacia"<<endl; else { cout <<"nNumero a buscar: "; cin>>numero; e=buscar(numero); if(e==1) { cout<<"nDato encontrado"; cout<<"nNumero: "<<aux1->num; } else cout<<"nDato no encontrado"<<endl; } tecla(); } int buscar(int dato) { int encuentra=0; aux1=pri; while(aux1->num<dato && aux1->sig!=NULL) { aux2=aux1; aux1=aux1->sig; } if(aux1->num==dato) encuentra=1; return (encuentra); } void tecla(void) { cout<<"nPresiona una tecla para continuar"<<endl; getch(); }