Ir al contenido principal

Destacado

Desarrollo web Bootcamp

  Introducción a la Programación La programación es el proceso de diseñar y escribir instrucciones que las computadoras entienden para realizar tareas específicas. Estas instrucciones se conocen como código , y permiten a los desarrolladores crear aplicaciones, sitios web, juegos y mucho más. Lenguajes de Programación Comunes en el Desarrollo Web En el desarrollo web, los lenguajes más utilizados incluyen: HTML : Define la estructura del contenido en una página web. CSS : Estiliza y da diseño a los elementos de HTML. JavaScript : Agrega interactividad y funcionalidades dinámicas a las páginas web.      PHP y Python : Son lenguajes de servidor para manejar la lógica y los datos. SQL : Sirve para gestionar bases de datos. Sintaxis Básica La sintaxis es un conjunto de reglas que determina cómo escribir código en un lenguaje específico. Es fundamental para que el programa funcione correctamente. Por ejemplo: javascript let mensaje = "¡Hola Mundo!" ; console . log (mens...

Pila definición y ejemplo en lenguaje c++


PILA definición y ejemplo en lenguaje  c++




INTRODUCCION.

Una pila es un conjunto de cosas unas sobre otras.
En el lenguaje de programación se utilizan tipos de estructura de datos llamadas pilas que tienen la misma función, ya que pueden variar de tamaño y tener ciertas características que cumple una pila física.
Una pila es un tipo especial de lista abierta en la que solo se pueden insertar y eliminar nodos en uno de los extremos de la lista.


DESARROLLO.

Una pila es una lista ordenada o estructura de datos en la que l modo de acceso a sus elementos es de tipo LIFO (Last In Firs Out) , ultimo en entrar , es el primero en salir.
A una pila se le pueden añadir y retirar nuevos nodos únicamente de su parte superior. Se referencia una pila mediante un apuntador al elemento superior de la misma. El miembro de enlace en el último nodo de la pila se define NULL , para indicar que se trata de la parte inferior de la pila misma.





Representación Gráfica del funcionamiento de una pila en c++

Las funciones primarias utilizadas para manipular una pila son push y pop. La función push crea un nuevo nodo y lo coloca en la parte superior de la pila. La función pop elimina un nodo de la parte superior de la pila, liberando la memoria que fue asignada al nodo retirado, y regresando el valor retirado. La función push coloca un nuevo nodo en la parte superior de la pila.



CODIGO E IMPLEMENTACION DE UNA PILA


#include <iostream>

  int dato;

using namespace std;

struct nodo{
    int nro;
    struct nodo *sgte;
};
 typedef nodo *ptrPila;
void menu();
int pop( ptrPila & );
void push( ptrPila &p, int valor );
void mostrar_pila( ptrPila p );
void destruir_pila( ptrPila &p);
int main()
{
  
    ptrPila p = NULL;  // creando pila
 
    int x ; // numero que devuelve la funcIon pop
    int op;
    system("color 0b");

    do
    {
        menu();  cin>> op;

        switch(op)
        {
            case 1:

                 cout<< "\n NUMERO A APILAR: "; cin>> dato;
                 push( p, dato );
                 cout<<"\n\n\t\tNumero " << dato << " apilado...\n\n";
            break;


            case 2:

                 x = pop( p );
                 cout<<"\n\n\t\tNumero "<< x <<" desapilado...\n\n";
            break;
                

            case 3:

                 cout << "\n\n MOSTRANDO PILA\n\n";
                 if(p!=NULL)
                    mostrar_pila( p );
                 else
                    cout<<"\n\n\tPila vacia..!"<<endl;
            break;


            case 4:

                 destruir_pila( p );
                 cout<<"\n\n\t\tPila eliminada...\n\n";
            break;
          
         }

        cout<<endl<<endl;
        system("pause");  system("cls");

    }while(op!=5);
  
  system("PAUSE");
}


void menu()
{
    cout<<"\n\t IMPLEMENTACION DE PILAS EN C++\n\n";
    cout<<" 1. APILAR                                "<<endl;
    cout<<" 2. DESAPILAR                             "<<endl;
    cout<<" 3. MOSTRAR PILA                          "<<endl;
    cout<<" 4. DESTRUIR PILA                         "<<endl;
    cout<<" 5. SALIR                                 "<<endl;

    cout<<"\n INGRESE OPCION: ";
}
void destruir_pila( ptrPila &p)
{
     ptrPila aux;
    
     while( p != NULL)
     {
           aux = p;
           p = aux->sgte;
           delete(aux);
     }
}

void mostrar_pila( ptrPila p )
{
     ptrPila aux;
     aux = p;     // apunta al inicio de la lista
    
     while( aux !=NULL )
     {
            cout<<"\t"<< aux->nro <<endl;
            aux = aux->sgte;
     }   
}
int pop( ptrPila &p )
{
     int num ;
     ptrPila aux;
    
     aux = p ;
     num = aux->nro;   // asignamos el primer vamor de la pila
    
     p = aux->sgte ;
     delete(aux);
    
     return num;
}
void push( ptrPila &p, int valor )
{
     ptrPila aux;
     aux = new(struct nodo);  // apuntamos al nuevo nodo creado
     aux->nro = valor;
    
     aux->sgte = p ;
     p = aux ;
}












CONCLUSION.

Las pilas tienen aplicaciones interesantes. Por ejemplo, siempre que se hace una llamada de función, la función llamada debe saber como regresar a su llamador, por lo que la dirección de regreso es introducida en una pila. Si ocurre una serie de llamadas de función, los valores de regreso sucesivos son introducidos en una pila, en orden de últimas entradas, primeras salidas, de forma tal que cada función puede regresar a su llamador. Las pilas aceptan llamadas de función recursivas, de la misma forma que llamadas normales no recursivas.
Las pilas contienen l espacio creado para variables automáticas en cada invocación de una función. Cuando la función regreso a su llamador, el espacio para las variables automáticas de dicha función es retirado. De la pila, dichas variables de ser conocidas para el programa.

Además las pilas son utilizadas por los compiladores en el proceso de evaluar expresiones y de generar código de lenguaje máquina.

Descarga Libros en c y c++ https://mega.nz/folder/ZckjDaLR#v5Bgwuv3ypM8uxOoKw90Wg

Comentarios

Entradas populares