Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Functios
Functios
Pre: p={}
p={a1,a2,a3…an}
Codificacion.*/
#include <iostream.h>
#include <conio.h>
//Definicion de la Estructura
struct nodoPila
{
int dato;
nodoPila *sig;};
//Menu principal
int menu()
{
int opc;
clrscr();
cout<<" MENU PRINCIPAL";
cout<<"\n1. Inicializar Pila";
cout<<"\n2. Apilar (push)";
cout<<"\n3. Encontrar primer elemento";
cout<<"\n4. Ordenar elementos";
cout<<"\n5. Salir";
cout<<"\n Dijite Opcion a realizar: ";
cin>>opc;
return opc;
}
//Definicion de funciones
void inicializar(struct nodoPila **);
void apilar(struct nodoPila **, int x);
void primerelemento(struct nodoPila **);
void ordenarelementos(struct nodoPila**);
//Funcion inicializar
void inicializar(struct nodoPila **tope)
{ clrscr();
*tope=NULL;
cout<<"\nPila Inicializada.";
getch();
}
//Funcion apilar
void apilar(struct nodoPila **tope, int dat)
{ clrscr();
struct nodoPila *aux;
aux=new nodoPila;
if(aux==NULL)
{
cout<<"\nMemoria Insuficiente. ";
getch();
}
aux->dato=dat;
aux->sig=*tope;
*tope=aux;
}
{clrscr();
int elem;
struct nodoPila *aux;
if (*tope==NULL)
cout<<"\n Pila Vacia ";
else
{ aux = *tope;
do{ if (aux->sig==NULL)
{elem=aux->dato;
cout<<"\n El primer elemento de la pila es: "<<elem;
}
aux = aux->sig;
}while(aux!=NULL);
}
getch();
}
{clrscr();
struct nodoPila *aux;
int nums[30], j, i=0, contador=0, n;
if(*tope==NULL)
{cout<<"\n Pila Vacia ";
}
else
{aux=*tope;
while(aux!=NULL)
{nums[i]= aux->dato;
aux=aux->sig;
contador=contador+1;
i++;
}
for(i=1;i<contador-1;i++)
{for(j=1;j<contador-1;j++)
{if(nums[j]>nums[j+1])
{n=nums[j];
nums[j]=nums[j+1];
nums[j+1]=n;
}
}
}
}
}while(opc!=5);