Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #define MAX 5
- using namespace std;
- struct mahasiswa {
- int data[MAX];
- string nama[MAX];
- int front;
- int rear;
- }mhs;
- void inisialisasi () {
- mhs.front = -1;
- mhs.rear = MAX;
- }
- bool isEmpty () {
- return mhs.front == -1 && mhs.rear == MAX;
- }
- bool isFull () {
- return mhs.front == mhs.rear - 1;
- }
- void enqueueFront () {
- if(isFull()){
- cout<< "DATA PENUH";
- } else {
- mhs.front++;
- cout<<"DATA : "; cin >> mhs.data[mhs.front];
- cout<<"NAMA : "; cin >> mhs.nama[mhs.front];
- }
- }
- void enqueueRear () {
- if (isFull()) {
- cout<< "DATA PENUH";
- } else {
- mhs.rear--;
- cout<<"DATA : "; cin >> mhs.data[mhs.rear];
- cout<<"NAMA : "; cin >> mhs.nama[mhs.rear];
- }
- }
- void dequeueFront () {
- if(isEmpty()){
- cout<< "DATA KOSONG";
- } else {
- for (int i = 0; i < mhs.front; i++) {
- mhs.data[i] = mhs.data[i+1];
- mhs.nama[i] = mhs.nama[i+1];
- }
- mhs.front--;
- }
- }
- void dequeueRear () {
- if(isEmpty()){
- cout<< "DATA KOSONG";
- } else {
- for (int i = MAX - 1; i > mhs.rear; i--) {
- mhs.data[i] = mhs.data[i-1];
- mhs.nama[i] = mhs.nama[i-1];
- }
- mhs.rear++;
- }
- }
- void view () {
- if (isEmpty()){
- cout<< "DATA KOSONG";
- } else {
- for (int i = 0; i <= mhs.front; i++){
- cout << " <- DATA : "<< mhs.data[i] << " NAMA : " << mhs.nama[i];
- }
- for (int i = mhs.rear; i < MAX; i++) {
- cout << " DATA : "<< mhs.data[i] << " NAMA : " << mhs.nama[i] << " -> ";
- }
- }
- }
- int main () {
- bool exit = false;
- int pil;
- inisialisasi();
- do {
- cout<<endl;
- cout<< "1.INSERT KIRI "<<endl;
- cout<< "2.INSERT KANAN "<<endl;
- cout<< "3.DELETE KIRI "<<endl;
- cout<< "4.DELETE KANAN "<<endl;
- cout<< "5.VIEW "<<endl;
- cout<< "Masukkan Pilihan : ";cin>>pil;
- switch(pil){
- case 1:
- enqueueFront();
- break;
- case 2:
- enqueueRear();
- break;
- case 3:
- dequeueFront();
- break;
- case 4:
- dequeueRear();
- break;
- case 5:
- view();
- break;
- }
- } while (exit == false);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement