07 March, 2014

Linked List Implementation 1

Ada 3 macem Linked List:
1.  Single Linked List
Cuma punya 1 node.
    Contohnya:

1.  Double Linked List 
Cuma punya 2 nodes.
Contohnya:

1.  Multiple Linked List
Punya lebih dari 2 nodes.
Contohnya:




Node 
Panah yang menunjuk ke class lainnya.



Circular Linked List
Linked List yang menunjuk dirinya sendiri di akhirnya (head dan tail di memory yang sama).



Dalam sebuah memory ada 3 bagian, yaitu head, current dan tail.


*Deal with it K

Data yang masuk pertama kali akan langsung ditempatkan di Current.


Push Depan 
Salah satu teknik pemindahan memory, dan yang dipindahkan dari memory tersebut adalah bagian Head-nya.

Contoh Code-nya:

struct Mahasiswa{
                char nama[26];
                struct Mahasiswa *next;           // contoh structnya
}*head,*tail,*curr;

*curr = (struct Mahasiswa*) malloc (sizeof(struct Mahasiswa));
strcpy(curr->nama,”Kurisu”);
curr->next = head;                        
head = curr;



Push Belakang
Sama dengan Push depan, namun yang dipindahkan adalah bagian Tail-nya.

Contoh Code-nya (berdasarkan Struct di atas):

if(tail == NULL)
{
  head = tail = curr;
}else{
          tail->next = curr;         
          tail = curr;
       }
tail->next = NULL;


POP
Salah satu teknik menghapus isi dari suatu memory.

JIka hanya ada satu data saja, maka code-nya :
head = tail = NULL;
free(curr);




Ada 2 teknik dalam POP yaitu :

1.  POP Depan
Menghapus bagian headnya.

Contoh code-nya :
If(head == NULL)
{
  head = tail = NULL;
  free(curr);
}else{
          head = head->next;
          free(curr);
}

2.  POP Belakang 
Menghapus bagian tailnya.

Contoh code-nya :
If(tail == NULL)
{
  head = tail = NULL;
  free(curr);
}else{
          tail = tail->next;
          free(curr);
}



THANK YOU!!





Nama : Krisna
NIM    : 1701290236

No comments:

Post a Comment