Linked List

Linked List

Sebelumnya maaf pak telat, saya salah submitnya saya submit ke web https://www.skyconnectiva.com/skysubmit/.

Jadi pada pertemuan kelas besar dan kelas kecil data structure hari ini saya belajar tentang linked list yang dimana linked list ada 2 jenis, yaitu:

  • Single Linked List
Single linked list dapat diibaratkan seperti gerbong kereta yang menyambung satu sama lain seperti gambar berikut.

Image result for singly linked list
Jadi mengapa disebut Single linked list?
Dikarenakan karena penghubung antar data hanya ada 1 penghubung setiap gerbongnya yaitu penghubung next. Jadi untuk mengakses data dengan value 6 bisa digunakan head->next.

Didalam kelas kecil saya diajarkan bahwa linked list memiliki berbagai function yang dapat digunakan, dan codingnya sebagai berikut:

1.) Deklarasi awal
   struct data
  {
int value;
struct data *next;
   }tdata, *h, *t;

2.) Push Belakang
   void pushBelakang(int v)
{
struct data *curr;
curr = (struct data *) malloc(sizeof(struct data) );
curr->value = v;
curr->next = NULL;
if (h == NULL){ //List Kosong
h = t = curr;
}
else{
t->next = curr;
t = curr;
}
}

3.) Push Depan
   void pushDepan(int v)
{
struct data *curr;
curr = (struct data *) malloc(sizeof(struct data) );
curr->value = v;
curr->next = NULL;
if (h == NULL){ //List Kosong
h = t = curr;
}
else{
curr->next = h;
h = curr;
}
}

4.)  Pop Depan
   void popDepan()
{
if (h == NULL)
return;
struct data *c = h;
if (h == t)
h = t = NULL;
else
h = h->next;
free(c);
}

5.) Pop Belakang
   void popBelakang()
{
if (h == NULL)
return;
struct data *c = h;
if (h == t)
h = t = NULL;
else
{
while (c->next != t)
{
c = c->next;
}
free(t);
t = c;
t->next = NULL;
}
}

Itulah function yang saya pelajari hari ini tentang Single Linked List.

  • Double Linked List
Selanjutnya untuk Double Linked List konsepnya sama dengan Single Linked List, namun di Double Linked List terdapat pointer prev yang dimana dapat menunjuk data sebelumnya gambarnya seperti berikut:

Image result for double linked list

Untuk penerapan codingnya, dosen kelas kecil saya bilang bahwa hampir mirip dengan Single Linked List namun kita harus dapat berimajinasi dimana penghubung next dan prevnya.

Dan kesimpulannya, lebih disarankan menggunakan Double Linked List dikarenakan pengaksesannya yang lebih mudah karena ada 2 penghubung yaitu next dan prev. Namun untuk belajar dasarnya lebih baik pahami konsep awal Single Linked List.

Untuk Referensi codingnya saya ambil dari pelajaran kelas kecil saya hari ini.


Comments