Posts

Program Double Stack

DOUBLE STACK Hallo guys.. Kali ini gua mau sharing materi Double Stack. Apasih Double Stack ? Double Stack adalah stack seperti biasa yang menggunakan array dan memiliki prinsip LIFO ( last in first out ). Namun di dalam double stack bisa melakukan push dari array terkecil dan terbesar. Dari pada bingung langsung saja ke programnya. #include <iostream> using namespace std; #define max 5 int top1=-1,top2=max+1; struct nilai {     int nilai; } data[5]; bool kosong1() {     return (top1+1==0) ? 1 : 0; } bool kosong2() {     return (top2-1 == max) ? 1 : 0; } bool penuh() {     return (top1+1==top2-1) ? 1 : 0; } void push(int pilih) {     if(penuh())     {         cout<<"stack penuh";     }     else     {   ...

Circular queue

PROGRAM CIRCULAR QUEUE Hallo guys.. Kali ini gua mau sharing tentang circular queue. Gua juga masih belajar kalo ada kesalahan tolong dibantu ya hehe.. Oke circular queue adalah queue yang melingkar, jadi jika kalian input sampai max maka tail akan Kembali ke index -1, sedangkan jika kalian menghapus maka head akan ditambah 1. Mungkin kalian masih bingung dari penjelasan diatas, oleh karena itu kita lngsung ke programnya. #include <iostream> using namespace std; #define max 5 int head=-1,tail=-1; struct angka {     int angka; }data[5]; void enqueue() {     if(head==-1)     {         head=0;         tail=0;     }     if(tail==max)     {         cout<<" queue penuh \n";     }     else if(t...