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 stackContoh 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 stackContoh 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