Programacion c++ – unir pilas

  Unir pilas C++

A través de la programación en C++, desarrollaremos un programa haciendo uso de Pilas, donde nos permita apilar y unir pilas.

El programa consistirá en crear un menú con 4 opciones que incluya las ya mencionadas (apilar, ver, unir pilas y salir).

#include<iostream.h>
#include<conio.h>

struct nodo{ int nro;
         struct nodo * sgte;};

typedef nodo *ptrPila;

void imprimir1(ptrPila);
void imprimir2(ptrPila);
void eliminaPila(ptrPila &);
void push(ptrPila &, int);
void unirPilas(ptrPila , ptrPila );
int pop(ptrPila &);

void main(void)
{ ptrPila p1=NULL;
  ptrPila p2=NULL;
  ptrPila p=NULL;
int opc,n,valor,i;
do{
 cout<<"1 Apilar"<<endl;

 cout<<"2 Ver pila"<<endl;

   cout<<"3 Unir"<<endl;
 cout<<"4 Salir"<<endl;
 cout<<"Ingrese una opcion";
 cin>>opc;
 switch(opc)
 {case 1:cout<<"limite de la pila"; cin>>n;
           cout<<"Ingresar pila 1"<<endl;
           for(i=0;i<n;i++)
           {cout<<"Elemento:"<<endl;
            cin>>valor;
      push(p1,valor);
            }
            cout<<"Ingresar pila 2"<<endl;
           for(i=0;i<n;i++)
           {cout<<"Elemento:"<<endl;
            cin>>valor;
      push(p2,valor);
            }
   break;

 case 2:cout<<"Contenido de la pila 1"<<endl;
   imprimir1(p1);
         cout<<"Contenido de la pila 2"<<endl;
   imprimir1(p2);
   break;

   case 3:
           cout<<"Pilas unidas"<<endl;
           unirPilas(p1,p2);
           break;
 }
}while(opc!=4);
}
//Función para insertar elementos en la pila
void push(ptrPila &p, int n)
{ ptrPila q=new(struct nodo);
  q->nro=n;
  q->sgte=p;
  p=q;
}


void unirPilas(ptrPila p1, ptrPila p2)
{
  ptrPila q=p1;
  while(q->sgte!=NULL)
  q=q->sgte;
  q->sgte=p2;
}
//Función para visualizar elementos en la pila
void imprimir(ptrPila p1)
{ while(p1!=NULL)
 {cout<<p1->nro<<endl;
  p1=p1->sgte;
 }
cout<<endl;
}
void imprimir1(ptrPila p1)
{ while(p1!=NULL)
 {cout<<p1->nro<<endl;
  p1=p1->sgte;
 }
cout<<endl;
}
void imprimir2(ptrPila p2)
{ while(p2!=NULL)
 {cout<<p2->nro<<endl;
  p2=p2->sgte;
 }
cout<<endl;
}
unir pilas
unir pilas

Como se puede ver en las imágenes, el programa unir pilas, tiene un menú de 4 opciones:

  • Al elegir la primera opción, nos saldrá una ventana que nos pedirá ingresar el límite que tendrán las dos pilas (Pila número 1 y Pila número 2).
  • La segunda opción deberá mostrarnos los elementos de la Pila 1 y los elementos de la Pila 2
  • La tercera opción, deberá mostrarnos los elementos de las pilas unidas con todos los elementos de ambas pilas.
  • Y finalmente la opción salir, que nos permitirá salir de la aplicación.

Espero te haya gustado este post, no dudes en compartirlo!!

Continuando con Pilas, les comparto el siguiente post: Multiplicar Pila por un determinado número

-->