Senin, 09 Juli 2012

Struktur data Lifo


    LIFO merupakan singkatan dari Last in first out atau dalam bahasa Indonesia, Terakhir masuk pertama keluar yang berarti bahwa persediaan yang terakhir masuk adalah barang yang pertama kali dicatat sebagai barang yang dijual. Sejak tahun 1970-an, perusahaan-perusahaan di Amerika Serikat memilih untuk menggunakan sistem LIFO untuk mengurangi pajak pada saat terjadi inflasi.

#include <iostream.h>
 const int x = 10; //stack size
 typedef struct stack
{
  int data[x];
  int *head;
} Stack;
 void create_stack(Stack& stack);
int pop(Stack& stack);
void push(Stack& stack, int n);
int empty(Stack& stack);
 int main()
{
  Stack stack;
   create_stack(stack);
  
  int n, i;
  cout << "Enter numbers: " << endl;
  for (i = 0; i < x && cin >> n; i++)
    push(stack, n);
   cout<<"The stack contains: " << endl;
  while (!empty(stack))
    cout << pop(stack);
   cout << endl;
   return 0;
}
 void create_stack(Stack& stack)
{
  stack.head = stack.data;
}
 int pop(Stack& stack)
{
  if (empty(stack)){
    cout << "stack is empty" << endl;
    return(1);
  }
   --(stack.head);
  return *(stack.head);
}
 void push(Stack& stack, int n)
{
  *(stack.head) = n;
  ++(stack.head);
}
 int empty(Stack& stack)
{
  return (stack.head == stack.data);

Tidak ada komentar:

Posting Komentar