STACK AND QUEUE
Stack dan Queue
Stack adalah struktur data penting yang menyimpan elemen-elemennya secara teratur. Data disimpan di Last In First Out(LIFO). Stack bisa diimplementasikan dengan menggunakan array atau linked list.
Operasi-operasi pada stack dengan Single Linked List :
Push = yaitu memasukkan elemen baru ke dalam stack
Contoh penggunaan operasi Push :
Contoh penggunaan operasi Pop :
Contoh penggunaan operasi Top :
Stack adalah struktur data penting yang menyimpan elemen-elemennya secara teratur. Data disimpan di Last In First Out(LIFO). Stack bisa diimplementasikan dengan menggunakan array atau linked list.
Operasi-operasi pada stack dengan Single Linked List :
Push = yaitu memasukkan elemen baru ke dalam stack
Contoh penggunaan operasi Push :
void pushHead(char name[]){ current = (struct book *)malloc(sizeof book); strcpy(current->studentname, name); current->next = current->prev = NULL; if(head==NULL){ head=tail=current; }else{ head->prev=current; current->next=head; head=current; }Pop = yaitu menghapus elemen teratas dari stack
Contoh penggunaan operasi Pop :
void popHead(){ if(head==NULL){ printf("No Data"); }else if(head==tail){ current=head; head=tail=NULL; free(current); }else{ current=head; head=head->next; head->prev=NULL; free(current); } }Top = biasa disebut juga dengan peek. Yaitu melihat data paling atas dari stack
Contoh penggunaan operasi Top :
public void peek() System.out.print("Posisi Atas= "); if(posisi != 0) System.out.print(isistack[posisi]); System.out.println();
Queue dalah struktur data penting yang menyimpan elemen-elemennya secara teratur. Data disimpan di Fast In First Out(FIFO).
Operasi-operasi pada Stack :
push = untuk menambah item ke belakang dari queue
contoh penggunannya :
void enqueue(int x){if ((antrian.HEAD == 0) && (antrian.TAIL == 0)){antrian.HEAD = 1;antrian.TAIL = 1;}else{antrian.TAIL = antrian.TAIL + 1;}antrian.data[antrian.TAIL] = x;}
pop = untuk menghapus salah satu item dari depan queue tsb
contoh penggunannya :
void Dequeue(){if (q.head > q.tail) {q.head = 0;q.tail = 0;}q.head = q.head + 1;}
front = untuk mengembalikan item paling depan dari queue
contoh penggunannya :
int peekQueue(){
return front->data;
}
Comments
Post a Comment