Input/Output para una Estructura de Datos: dos Pilas en paralelo

LIDIA LIPE SCHLIEPER
 
// Interpretamos los datos a almacenar como ‘int’ y
// las 2 pilas (pila izquierda + pila derecha) van a almacenarse en las 2 filas de una matriz.

#include <stdio.h>
#include <stdlib.h>
 
#define MAX 500
#define NODATO -1
 
int matriz[2][MAX], izq, der;
izq=der=0;
 
void push_izq (int dato)   //introduccir dato en la pila izquierda: fila 1
{
   if(izq<MAX)
   {
      matriz[1][izq]=dato;
      izq++;
   }
 
   else printf("No hay memorian");
 
   return;
}
 
void push_der (int dato)  //introducir dato en la pila derecha: fila 0
{
   if(der<MAX)
   {
      matriz[0][der]=dato;
      der++;
   }
 
   else printf("No hay memorian");
 
   return;
}
 
int pop_der (void)  //sacar dato de la derecha por orden LIFO (last input first output)
{
   if(der<=0)
   {
      printf("No hay daton");
      return (NODATO);
   }
 
   else { –der;
            return matriz[0][der];
          }
}
 
int pop_izq (void)  //sacar dato de la izquierda por orden LIFO (last input first output)
{
   if(izq<=0)
   {
      printf("No hay daton");
      return (NODATO);
   }
 
   else { –izq;
            return (matriz[1][izq];
          }
}

Esta entrada fue publicada en Sin categoría. Guarda el enlace permanente.

Una respuesta a Input/Output para una Estructura de Datos: dos Pilas en paralelo

  1. Ricardo dijo:

    muy bien,ric.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s