Queue : Dequeue & Enqueue

Apa itu Queue ? 😩

Queue (antrian) adalah Barisan element yang apabila ditambah maka penambahannya berada diposisi belakang dan bila dilakukan pengambilan element maka akan diambil diposisi depan. Queue bersifat Fisrt in First Out.
Operasi dari Queue adalah :

  • Dequeue adalah Proses pengambilan element diposisi depan (front)
  • Enqueue adalah Proses Penambahan Element diposisi belakang (back)

Syntax Dasar queue :

#define maks 5

Struct Queue{

 int depan, belakang;
 int maks_queue;
 int antrian[maks];

};

Queue Q1, Queue Q2;

Contoh Coding :



#include <iostream>
#define maks 5

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

using namespace std;

class Queue{
friend ostream&operator<<(ostream&,const Queue&);
public:
Queue();
int penuh(int);
int kosong (int);
void cetak();
void enqueue(char x);
char dequeue();
private:
char A[maks];
int banyak;
};

ostream&operator<<(ostream&out,const Queue& s){
cout<<"\nIsi Queue :";
for(int i=0;i<s.banyak;i++)
out<<s.A[i]<<" ";

}

Queue::Queue(){

banyak=0;
for(int i=0;i<maks;i++)
A[i]='0';

}

int Queue::penuh(int s){

return s==maks ? 1:0;
}

int Queue::kosong(int s){

return s==0?1:0;
}
void Queue::cetak(){
cout<<"\nIsi Queue: ";
for(int i=0;i<banyak;i++)
cout<<A[i]<<" ";
}
void Queue::enqueue(char x){
cout<<"\n element: "<<x<<" masuk antrian";
if(penuh(banyak))cout<<"queue penuh";
else if(A[0]=='0'){

A[0]=x;
banyak++;
}
else {
for (int i=banyak;i>=0;i--)
A[i+1]=A[i];
A[0]=x;
banyak++;
}
}

char Queue::dequeue(){

char temp=A[--banyak];
cout<<"\nDequeue elemen-->"<<temp;
A[banyak]='0';
return temp;
}

int main() {
Queue q;
for (char c='a';c<'d';c++){
q.enqueue(c);
cout<<q;
}
char p =q.dequeue();
q.cetak();
cout<<"\n\nCetak paakai overloading: "<<q;
return 0;
}

Demikianlah Penjelasan mengenai Queue, mohon maaf apabila ada kesalahan 

1 Response to "Queue : Dequeue & Enqueue"

  1. CASINO D'AUS D'AUS D'AUS D'AUS D'AUS D'AUS - Mapyro
    D'AUS D'AUS D'AUS D'AUS D'AUS D'AUS D'AUS D'AUS D'AUS 남양주 출장마사지 D'AUS D'AUS D'AUS 남원 출장안마 D'AUS D'AUS 인천광역 출장안마 D'AUS D'AUS D'AUS D'AUS D'AUS 충주 출장마사지 D'AUS D'AUS 춘천 출장샵 D'AUS

    BalasHapus