Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdlib.h>
- #define maks 5
- using namespace std;
- struct data
- {
- int numb[maks];
- int front;
- int rear;
- }Data;
- void inisialisasi()
- {
- Data.front=-1;
- Data.rear=maks;
- }
- bool isFull()
- {
- return Data.front==Data.rear-1;
- }
- bool isEmpty()
- {
- return Data.front==-1 && Data.rear==maks;
- }
- void enqueFront()
- {
- if (isFull())
- {
- cout << "Error: Data sudah penuh!" << endl;
- }
- else
- {
- Data.front++;
- cout << "Masukkan angka = ";
- cin >> Data.numb[Data.front];
- }
- }
- void enqueRear()
- {
- if (isFull())
- {
- cout << "Error: Data sudah penuh!" << endl;
- }
- else
- {
- Data.rear--;
- cout << "Masukkan angka = ";
- cin >> Data.numb[Data.rear];
- }
- }
- void dequeFront()
- {
- if(isEmpty())
- {
- cout << "Error: Data masih kosong!" << endl;
- }
- else
- {
- for (int i=0;i<Data.front;i++)
- {
- Data.numb[i]=Data.numb[i+1];
- }
- Data.front--;
- }
- }
- void dequeRear()
- {
- if(isEmpty())
- {
- cout << "Error: Data masih kosong!" << endl;
- }
- else
- {
- for (int i=maks-1;i>Data.rear;i--)
- {
- Data.numb[i]=Data.numb[i-1];
- }
- Data.rear++;
- }
- }
- void show()
- {
- if (isEmpty())
- {
- cout << "Error: Data masih kosong!" << endl;
- }
- else
- {
- for(int i=0;i<=Data.front;i++)
- {
- cout << Data.numb[i] << " ->";
- }
- cout << " ";
- for (int i=Data.rear;i<maks;i++)
- {
- cout << " <- " << Data.numb[i];
- }
- }
- }
- int main()
- {
- int pil;
- inisialisasi();
- do
- {
- system("cls");
- cout << "1. Enque front\n";
- cout << "2. Enque rear\n";
- cout << "3. Deque front\n";
- cout << "4. Deque rear\n";
- cout << "5. show data\n";
- cout << "Input : ";
- cin>> pil;
- switch(pil)
- {
- case 1:
- {
- enqueFront();
- system("pause");
- break;
- }
- case 2:
- {
- enqueRear();
- system("pause");
- break;
- }
- case 3:
- {
- dequeFront();
- system("pause");
- break;
- }
- case 4:
- {
- dequeRear();
- system("pause");
- break;
- }
- case 5:
- {
- show();
- system("pause");
- break;
- }
- default:
- {
- cout << "Error: invalid input" << endl;
- }
- }
- }while(pil<=5);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement