Códigos Manejo de Pilas y Colas en Dev-C++

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 14

1

EJEMPLO N 1: PROGRAMA QUE IMPLEMENTA EL MANEJO DE PILAS


UTILIZANDO VECTORES.
#include <stdio.h>
#include <iostream>
#include <conio.h>

using namespace std;


//PROGRAMA QUE IMPLEMENTA EL MANEJO DE PILAS UTILIZANDO
VECTORES
//DECLARACIN DE CONSTANTES, VARIABLES Y ESTRUCTURAS
#define TAMPILA 3
typedef struct {
int Datos[TAMPILA] ;
int Tope;
}TipoPila;
//DECLARACIN E IMPLEMENTACIN DE FUNCIONES Y PROCEDIMIENTOS
int menu(){
int Opcion;
cout<< "OPCIONES DE MANEJO DE PILAS\n";
cout<<"____________________________\n";
cout<<"[1].....INSERTAR\n";
cout<<"[2].....ELIMINAR\n";
cout<<"[3].....VACIAR\n";
cout<<"[4].....CIMA\n";
cout<<"[5].....SALIR\n";
cout<<"SELECCIONE OPCION:";
cin>>Opcion;
return(Opcion);
}
2

void LeerNumero(int &Numero){

cout<<"NUMERO:";
cin>>Numero;
};

int PilaLlena (TipoPila Pila){


if (Pila.Tope==TAMPILA-1)
return 1;
return 0;
}

int PilaVacia (TipoPila Pila){


if (Pila.Tope==-1)
return 1;
return 0;
}
int Eliminar (TipoPila *Pila){
int Aux;
if (PilaVacia(*Pila)==0){
Aux=Pila->Datos[Pila->Tope];
Pila->Datos[Pila->Tope]=0;
Pila->Tope--;
return Aux;
}
return 0;}
3

int Insertar (TipoPila *Pila, int Num){


if (PilaLlena(*Pila)==0){
Pila->Tope++;
Pila->Datos[Pila->Tope]=Num;
return 1;
}
return 0;
}

void SeleccionarOperacion(){
TipoPila Pila;
int Opcion, Numero, Cima;
Pila.Tope=-1;
while ((Opcion=menu())!=5)
{
switch (Opcion){
case 1:
system("cls");
LeerNumero(Numero);
if (Insertar(&Pila,Numero)==1)
cout<<"<<<<NUMERO INSERTADO>>>>>>>\n";
else
cout<<"<<<<LA PILA ESTA LLENA>>>>\n";
break;
case 2:
system("cls");
Numero=Eliminar(&Pila);
if (Numero!=0)
4

printf(" <<<<<ELEMENTO ELIMINADO:%d>>>>>\n", Numero);


else
cout<<"<<<<LA PILA ESTA VACIA>>>>\n";
break;
case 3:
system("cls");
Cima=Pila.Tope;
for (int i=0;i<=Cima;i++){
Numero=Eliminar(&Pila);
if (Numero!=0)
printf(" <<<<<ELEMENTO ELIMINADO:%d>>>>>\n", Numero);
else;
}
break;
case 4:
system("cls");
if (PilaVacia(Pila)==0)
printf(" <<<<<EL ELEMENTO DEL TOPE DE LA PILA ES:%d>>>>>\n",
Pila.Datos[Pila.Tope]);
else
cout<<"<<<<LA PILA ESTA VACIA>>>>\n";
break;
default:
system("cls");
cout<<"<<<<OPCION INVALIDA>>>>\n";
}//FIN SWITCH
}//FIN WHILE
}
5

///CUERPO PRINCIPAL DEL PROGRAMA//////


int main()
{
SeleccionarOperacion();
return 0;
}
6

EJEMPLO N 2: PROGRAMA QUE IMPLEMENTA EL MANEJO DE PILAS


UTILIZANDO MEMORIA DINMICA.
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <conio.h>
using namespace std;
//PROGRAMA QUE IMPLEMENTA EL MANEJO DE PILAS UTILIZANDO
MEMORIA DINMICA
//DECLARACIN DE CONSTANTES, VARIABLES Y ESTRUCTURAS
#define TAMPILA 3
typedef struct nodo{
int Dato;
struct nodo *Siguiente;
}TipoNodo;

typedef TipoNodo *Nodo;


typedef TipoNodo *TipoPila;

//DECLARACIN E IMPLEMENTACIN DE FUNCIONES Y PROCEDIMIENTOS


int menu(){
int Opcion;
cout<< "OPCIONES DE MANEJO DE PILAS\n";
cout<<"____________________________\n";
cout<<"[1].....INSERTAR\n";
7

cout<<"[2].....ELIMINAR\n";
cout<<"[3].....VACIAR\n";
cout<<"[4].....CIMA\n";
cout<<"[5].....SALIR\n";
cout<<"SELECCIONE OPCION:";
cin>>Opcion;
return(Opcion);}
void LeerNumero(int &Numero){
cout<<"NUMERO:";
cin>>Numero;
};

int Eliminar (TipoPila *Pila){


int Num;
Nodo nodo;
nodo=*Pila;
if (nodo==NULL){
return 0;
}
*Pila=nodo->Siguiente;
Num=nodo->Dato;
free(nodo);
return Num;
}
8

void Insertar (TipoPila *Pila, int Num){


Nodo Nuevo;
Nuevo=(Nodo)malloc(sizeof(TipoNodo));
Nuevo->Dato=Num;
Nuevo->Siguiente=*Pila;
*Pila=Nuevo;
}

void SeleccionarOperacion(){
TipoPila Pila=NULL;
int Opcion, Numero;
while ((Opcion=menu())!=5)
{
switch (Opcion){
case 1:
system("cls");
LeerNumero(Numero);
Insertar(&Pila,Numero);
break;
case 2:
system("cls");
printf("<<<<<ELIMINAR NUMERO>>>>>\n");
Numero=Eliminar(&Pila);
if (Numero==0)
9

cout<<"<<<<LA PILA ESTA VACIA>>>>\n";


else
printf(" <<<<<ELEMENTO ELIMINADO:%d>>>>>\n", Numero);
break;
case 3:
system("cls");
printf("<<<<<ELIMINAR TODOS LOS ELEMENTOS DE LA
PILA>>>>>\n");
do{
Numero=Eliminar(&Pila);
if (Numero!=0)
printf(" <<<<<ELEMENTO ELIMINADO:%d>>>>>\n", Numero)
}while(Numero!=0);
break;
case 4:
system("cls");
if (Pila==NULL)
cout<<"<<<<LA PILA ESTA VACIA>>>>\n";
else
printf(" <<<<<EL ELEMENTO DEL TOPE DE LA PILA ES:%d>>>>>\n",
Pila->Dato);
break;
default:
system("cls");
cout<<"<<<<OPCION INVALIDA>>>>\n";
10

}//FIN SWITCH
}//FIN WHILE
}
///CUERPO PRINCIPAL DEL PROGRAMA//////
int main()
{
SeleccionarOperacion();
return 0;
}
11

EJEMPLO N 3: PROGRAMA QUE IMPLEMENTA EL MANEJO DE COLAS


UTILIZANDO VECTORES.
#include <stdio.h>
#include <iostream>
#include <conio.h>
using namespace std;
//PROGRAMA QUE IMPLEMENTA EL MANEJO DE COLAS UTILIZANDO
VECTORES
//DECLARACIN DE CONSTANTES, VARIABLES Y ESTRUCTURAS
#define TAMCOLA 5
typedef struct {
int Datos[TAMCOLA] ;
int Frente;
int Final;
}TipoCola;

//DECLARACIN E IMPLEMENTACIN DE FUNCIONES Y PROCEDIMIENTOS


int menu(){
int Opcion;
cout<< "OPCIONES DE MANEJO DE COLAS\n";
cout<<"____________________________\n";
cout<<"[1].....INSERTAR\n";
cout<<"[2].....ELIMINAR\n";
cout<<"[3].....FRENTE\n";
cout<<"[4].....SALIR\n";
cout<<"SELECCIONE OPCION:";
cin>>Opcion;
return(Opcion);
}
12

void LeerNumero(int &Numero){

cout<<"NUMERO:";
cin>>Numero;
};

int ColaLlena (TipoCola Cola){


if (Cola.Final==TAMCOLA-1)
return 1;
return 0;
}

int ColaVacia (TipoCola Cola){


if (Cola.Final<Cola.Frente)
return 1;
return 0;
}

int Eliminar (TipoCola *Cola){


int Aux;
if (ColaVacia(*Cola)==0){
Aux=Cola->Datos[Cola->Frente];
Cola->Datos[Cola->Frente]=0;
Cola->Frente++;
return Aux;
}
return 0;
}
13

int Insertar (TipoCola *Cola, int Num){


if (ColaLlena(*Cola)==0){
Cola->Final++;
Cola->Datos[Cola->Final]=Num;
return 1;
}
return 0;
}

void SeleccionarOperacion(){
TipoCola Cola;
int Opcion, Numero;
Cola.Frente=0;
Cola.Final=-1;
while ((Opcion=menu())!=4)
{
switch (Opcion){
case 1:
system("cls");
LeerNumero(Numero);
if (Insertar(&Cola,Numero)==1)
cout<<"<<<<NUMERO INSERTADO>>>>>>>\n";
else
cout<<"<<<<LA COLA ESTA LLENA>>>>\n";
break;
case 2:
system("cls");
Numero=Eliminar(&Cola);
14

if (Numero!=0)
printf(" <<<<<ELEMENTO ELIMINADO:%d>>>>>\n", Numero);
else
{cout<<"<<<<LA COLA ESTA VACIA>>>>\n";
Cola.Frente=0;
Cola.Final=-1;}
break;
case 3:
system("cls");
if (ColaVacia(Cola)==0)
printf(" <<<<<EL ELEMENTO DEL FRENTE DE LA COLA
ES:%d>>>>>\n", Cola.Datos[Cola.Frente]);
else
cout<<"<<<<LA COLA ESTA VACIA>>>>\n";
break;
default:
system("cls");
cout<<"<<<<OPCION INVALIDA>>>>\n";
}

}//FIN WHILE*/

}
////CUERPO PRINCIPAL DEL PROGRAMA//////
int main()
{
SeleccionarOperacion();
return 0;
}

También podría gustarte