fbpx

Struktur Data : Operasi Menambah Node Pada Double Linked List Bahasa C

๐Ÿ“‹ Daftar Isi

Pada artikel kali ini kita akan membahas bagaimana cara menambahkan node pada double linked list. Perlu diketahui bahwa ketika kita ingin mengambahkan node terdapat beberapa kemungkinan kondisi yang dapat terjadi.


Insert sebagai node awal (head)

void insert_head(mynode *head, int new_data)
{
  mynode new_node = createnode(new_data);
  new_node->next = *head;
  new_node->prev = NULL;

  if (*head != NULL)
    (*head)->prev = new_node;

  *head = new_node;

Perlu diingat mynode *head sama saja dengan struct node **head (double pointer menyimpan alamat memori pointer)


Insert sebagai node akhir (tail)

void insert_tail (mynode *head, int new_data)
{
  mynode new_node = createnode(new_data);
  new_node->next = NULL;

  if (*head == NULL)
  {
    new_node->prev = NULL;
    *head = new_node;
    return;
  }

  mynode cursor = *head;
  while (cursor->next != NULL)
    cursor = cursor->next;

  cursor->next = new_node;
  new_node->prev = cursor;

Jika cursor = NULL, artinya node baru memiliki nilai paling besar sehingga harus diletakkan di paling belakang alias menjadi tail.


Insert setelah node tertentu

void insert_after(mynode prev_node, int new_data)
{ 
  if (prev_node == NUL)
  {
    printf("Previous node tidak boleh NULL');
    return;
  }
  mynode new_node = createnode(new_data);
  new_node->next = prev_node->next;
  prev_node->next = new_node;
  new_node->prev = prev_node;
  
  if (new_node->next != NULL)
    new_node->next->prev = new_data;
}

Insert sebelum node tertentu

void insert_before(mynode next_node, int new_data)
{
  if (next_node == NULL)
  {
    printf("Next node tidak boleh NULL");
    return;
  mynode new_node = createnode(new_data);
  new_node->prev = next_node->prev;
  next_node->prev = new_node;
  new_node->next = next_node;
  
  if (new_node->prev != NULL)
    new_node->prev->next = new_data

Materi Lengkap

Silakan baca juga beberapa artikel menarik kami tentang Double Linked List, daftar lengkapnya adalah sebagai berikut.


Tonton juga video pilihan dari kami berikut ini

Bagikan ke teman-teman Anda

Contact Us

How to whitelist website on AdBlocker?

How to whitelist website on AdBlocker?

  1. 1 Click on the AdBlock Plus icon on the top right corner of your browser
  2. 2 Click on "Enabled on this site" from the AdBlock Plus option
  3. 3 Refresh the page and start browsing the site
error: Content is protected !!