Guest User

Untitled

a guest
May 22nd, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.75 KB | None | 0 0
  1. #include <iostream>
  2. #define MAX 20
  3. using namespace std;
  4.  
  5. struct Queue
  6. {
  7. int front, rear, data[MAX];
  8. } Q;
  9.  
  10. bool isFull()
  11. {
  12. return Q.rear == MAX;
  13. }
  14.  
  15. bool isEmpty()
  16. {
  17. return Q.rear == 0;
  18. }
  19.  
  20. void printQueue()
  21. {
  22. if (isEmpty())
  23. {
  24. cout << "Antrian kosong"<<endl;
  25. }
  26. else
  27. {
  28. cout << "QUEUE : ";
  29. for (int i = Q.front; i < Q.rear; i++)
  30. cout << "[" << Q.data[i] << "]";
  31. cout << endl;
  32. }
  33. }
  34.  
  35. void enqueue()
  36. {
  37. if (isFull())
  38. {
  39. cout << "Antrian penuh!"<<endl;
  40. }
  41. else
  42. {
  43. int data;
  44. cout << "Masukkan Data : ";
  45. cin >> data;
  46. Q.data[Q.rear] = data;
  47. Q.rear++;
  48. cout << "Data ditambahkan\n";
  49. printQueue();
  50. }
  51. }
  52.  
  53. void dequeue()
  54. {
  55. if (isEmpty())
  56. {
  57. cout << "Antrian masih kosong"<<endl;
  58. }
  59. else
  60. {
  61. cout << "Mengambil data [" << Q.data[Q.front] << "]" << endl;
  62. for (int i = Q.front; i < Q.rear; i++)
  63. Q.data[i] = Q.data[i + 1];
  64. Q.rear--;
  65. printQueue();
  66. }
  67. }
  68.  
  69. int main()
  70. {
  71. int choose;
  72. do
  73. {
  74. cout << "-------------------" <<endl;
  75. cout << " > Menu Pilihan" <<endl;
  76. cout << "-------------------" <<endl;
  77. cout << " [1] Enqueue" <<endl;
  78. cout << " [2] Dequeue" <<endl;
  79. cout << " [3] Keluar" <<endl;
  80. cout << "-------------------" <<endl;
  81. cout << "Pilih Menu : ";
  82. cin >> choose;
  83. if (choose==1)
  84. {
  85. enqueue();
  86. }
  87. else if (choose==2)
  88. {
  89. dequeue();
  90. }
  91. else if (choose==3)
  92. {
  93. return 0;
  94. }
  95. else
  96. {
  97. cout << "Input yang benar!" <<endl;
  98. }
  99. }
  100. while (true);
  101. return 0;
  102. }
Add Comment
Please, Sign In to add comment