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 antrian{
- int f=-1;
- int r=-1;
- char data[maks];
- }ant;
- bool isempty(){
- if (ant.f == -1)
- {
- return true;
- }else{
- return false;
- }
- }
- bool isfull(){
- if(((ant.r+1) % maks) == ant.f)
- {
- return true;
- }else{
- return false;
- }
- }
- void enqueue(char data){
- if(isfull()){
- cout << "Antrian Penuh.." << endl;
- system("pause");
- }else{
- if(isempty()){
- ant.f = ant.f + 1;
- ant.r = ant.r + 1;
- }else{
- ant.r = (ant.r + 1) % maks;
- }
- ant.data[ant.r] = data;
- cout << "Data telah dimasukkan" << endl;
- }
- }
- void dequeue(){
- char data;
- if(isempty()){
- cout << "Antrian kosong" << endl;
- system("pause");
- }else{
- data = ant.data[ant.f];
- cout << "Data " << data << " telah di hapus" << endl;
- if(ant.f == ant.r){
- ant.f = - 1;
- ant.r = - 1;
- }else{
- ant.f = (ant.f + 1) % maks;
- }
- }
- }
- void display(){
- int i;
- if(!isempty()){
- if(ant.f > ant.r){
- for(i=ant.f;i<maks;i++){
- cout << "[" << ant.data[i] << "]" << " ";
- }
- for(i=0;i<=ant.r;i++){
- cout << "[" << ant.data[i] << "]" << " ";
- }
- }else{
- for(i=ant.f;i<=ant.r;i++){
- cout << "[" << ant.data[i] << "]" << " ";
- }
- }
- }
- }
- int main(){
- char data;
- int menu;
- do{
- system("cls");
- cout << "Front : " << ant.f << endl;
- cout << "Rear : " << ant.r << endl;
- cout << "Isempty ? "<< isempty() <<endl;
- cout << "Isfull ? " << isfull() <<endl;
- cout << "maks ? " << maks <<endl;
- display();
- cout << endl;
- cout << "Menu: "<<endl;
- cout << "1. Tambah(push)"<<endl;
- cout << "2. Hapus(POP)"<<endl;
- cout << "3. Keluar"<<endl;
- cout << "Masukkan menu: ";
- cin >> menu;
- if(menu == 1){
- cout << "Masukkan data : ";
- cin >>data;
- enqueue(data);
- }else{
- dequeue();
- }
- }while(menu != 3);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement