miércoles, 18 de noviembre de 2015

PILAS Y COLAS

Cola:
En este .cpp se pide el ingreso por teclado de un conjunto de datos de manera iterativa hasta que se ingrese la palabra "fin" cuando la consola pida el dato "Nombre". Una vez finalizado el ingreso, y si hay datos en la cola, se procede a mostrarlos navegando mediante las estructuras (struct). Cada estructura contiene la posición de memoria de la estructura siguiente en la cola, por lo que se las recorrerá hasta el final y se las irá eliminando de la memoria (ya que conceptual mente un nodo debe leerse de memoria una única vez).
Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por el otro. También se le llama estructura FIFO (del inglés First In First Out)
Ejemplo:
Realizar un prgrama que ingrese 5 numeros y que los presente en orden.
    #include <conio.h>
    #include <stdio.h>
    int i;
    int num[5];
    int *ptrnum;
    main(){
    printf("Ejercicio COLA");
    for(int i=0;i<5;i++){
    printf("Ingrese los numeros %d",i+1);
    scanf("%d",&num[i]);
    }
    ptrnum=&num[i];
    for(int i=0;i<=4;i++){
    printf("\n %d \n",ptrnum[i]);
    }
    getch();

    }


    Pila
    La pila es una estructura de datos que permite almacenar datos en el orden LIFO (Last In First Out, en español, "último en entrar, primero en salir"). 
    La recuperación de los datos es realizada en el orden inverso de su inserción. 
    En este caso también se solicita un conjunto de datos de manera iterativa a ingresar por teclado. Cuando se finaliza el ingreso, se porcede a mostrar los elementos de la pila y además se utiliza un archivo binario para transformar la pila en memoria en una estructura de datos persistente. Cada nodo de la pila, como en el caso anterior, mantendrá una referencia al nodo siguiente haciendo posible el futuro recorrido de la misma. Luego de finalizada la muestra de los elementos de la pila, se consulta al usuario si se desea acceder a los datos de la misma almacenados en el archivo binario, para lo cual, en el caso de responder Si (S), se accede al archivo y se imprimen los registros de manera secuencial.
    Ejemplo:
    Realizar un programa que pida el nombre y que lo presente el mismo nombre al reves
    1. #include <conio.h>
      #include <stdio.h>

      char nom[10];

      int i;
      main(){

      printf("Ingrese su nombre:");
      scanf("%s",&nom);
      for(i=10;i>=0;i--){
      printf("%c",nom[i]);
      }
      getch();
      }

    No hay comentarios:

    Publicar un comentario