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 : 

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

Popular posts from this blog

AVLdanBtree