Advertisement
Mashudi

queue ga kelar

Jul 3rd, 2015
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.91 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #define MAX 6
  4. using namespace std;
  5.  
  6. struct Queue
  7. {
  8.     int data[MAX];
  9.     int head;
  10.     int tail;
  11. };
  12.  
  13. Queue antrian;
  14. void create() {
  15.     antrian.head = antrian.tail = -1;
  16. }
  17.  
  18. int IsEmpty() {
  19.     if (antrian.tail == -1)
  20.     {
  21.         return 1;
  22.     }
  23.     else {
  24.         return 0;
  25.     }
  26. }
  27.  
  28. int IsFull() {
  29.     if (antrian.tail == MAX-1)
  30.     {
  31.         return 1;
  32.     }
  33.     else {
  34.         return 0;
  35.     }
  36. }
  37.  
  38. void Enqueue(int data) {
  39.     system("clear");
  40.     if (IsEmpty() == 1) {
  41.         antrian.head = antrian.tail = 0;
  42.         antrian.data[antrian.tail] = data;
  43.         cout << antrian.data[antrian.tail];
  44.     }
  45.     else {
  46.         system("clear");
  47.         antrian.tail++;
  48.         antrian.data[antrian.tail] = data;
  49.         cout << antrian.data[antrian.tail];
  50.     }
  51. }
  52.  
  53. int Dequeue() {
  54.     system("clear");
  55.     int i;
  56.     int e = antrian.data[antrian.head];
  57.     for (i = antrian.head; i <= antrian.tail-1; i++) {
  58.         antrian.data[i] = antrian.data[i+1];
  59.     }
  60.     antrian.tail--;
  61.     return e;
  62. }
  63.  
  64. void Clear() {
  65.     system("clear");
  66.     antrian.head = antrian.tail = -1;
  67.     cout << "Data Clear";
  68. }
  69.  
  70. void Tampil() {
  71.     system("clear");
  72.     if (IsEmpty() == 0)
  73.     {
  74.         for (int i = antrian.head; i <= antrian.tail; i++)
  75.         {
  76.             cout << antrian.data[i] << " ";
  77.         }
  78.     }
  79.     else {
  80.         cout << "Data Kosong\n";
  81.     }
  82. }
  83.  
  84. int main() {
  85.     char pil;
  86.     int data;
  87.     create();
  88.     do {
  89.         system("clear");
  90.         cout << "1. Enqueue\n"
  91.              << "2. Dequeue\n"
  92.              << "3. Tampil\n"
  93.              << "4. Clear\n"
  94.              << "5. Keluar\n\n"
  95.              << "Masukkan pilihan : ";
  96.         cin >> pil;
  97.        
  98.         if (pil == '1')
  99.         {
  100.             system("clear");
  101.             cout << "Data : ";
  102.             cin >> data;
  103.             Enqueue(data);
  104.         }
  105.         else if (pil == '2')
  106.         {
  107.             if (IsEmpty() == 0)
  108.             {
  109.                 cout << "Elemen yang keluar : " << Dequeue();
  110.             }
  111.             else {
  112.                 cout << "Data kosong\n";
  113.             }
  114.         }
  115.         else if (pil == '3')
  116.         {
  117.             Tampil();
  118.         }
  119.         else if (pil == '4')
  120.         {
  121.             Clear();
  122.         }
  123.         else if (pil == '5')
  124.         {
  125.             return 0;
  126.         }
  127.     }
  128.     while (pil != '5');
  129.     return 0;
  130. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement