Data Structure 3 Maret 2020

Pada pembelajaran tanggal 3 Maret 2020, saya belajar mengenai Linked List terkhususnya Single Linked List. Adapun di dalam Linked List terdapat beberapa fungsi seperti push dan pop. Push terbagi menjadi 3 yaitu :
  • Push Depan(Push Head)
Push depan memiliki fungsi yaitu menambahkan data dari depan, adapun contohnya sebagai berikut

void pushDepan(int v)
{
struct data *curr;

curr = (struct data *) malloc(sizeof(struct data) );
curr->value = v;
curr->next = NULL;

if (head == NULL){
head = tail = curr;
}
else{
curr->next = head;
head = curr;
}
}
  • Push Belakang(Push Tail)
Push belakang memiliki fungsi yaitu menambahkan data dari belakang, adapun contohnya sebagai berikut

void pushBelakang(int v)
{
struct data *curr;
curr = (struct data *) malloc(sizeof(struct data) );
curr->value = v;
curr->next = NULL;
if (head == NULL){
head = tail = curr;
}
else{
tail->next = curr;
tail = curr;
}
}
  • Push Tengah(Push Mid)
Push tengah memiliki fungsi yaitu menambahkan data dari tengah, adapun contohnya sebagai berikut

void pushTengah(int v)
{
struct data *curr;
curr = (struct data *) malloc(sizeof(struct data) );
curr->value = v;
curr->next = NULL;
if (head == NULL){
head = tail = curr;
}
else{
struct data *temp = head;
while (temp->next->value < v)
{
temp = temp->next;
}
curr->next = temp->next;
temp->next = curr;
}
}

Kemudian pop juga terbagi menjadi 3 bagian, yaitu sebagai berikut :
  • Pop Depan(Pop Head)
Pop depan memiliki fungsi untuk menghapus data dari depan, adapun contohnya sebagai berikut

void popDepan()
{
if (head == NULL)
return;
struct data *curr = head;
if (head == tail)
head = tail = NULL;
else
head = head->next;
free(curr);
}
  •  Pop Belakang (Pop Tail)
Pop belakang memiliki fungsi untuk menghapus data dari belakang, adapun contohnya sebagai berikut

void popBelakang()
{
if (head == NULL)
return;

struct data *curr = head;
if (head == tail)
head = tail = NULL;
else
{
while (curr->next != tail)
{
curr = curr->next;
}
free(tail);
tail = curr;
tail->next = NULL;
}
}
  • Pop Tengah(Pop Mid)
Pop tengah memiliki fungsi untuk menghapus data dari tengah, adapun contohnya sebagai berikut

void popTengah(){

struct data *tail = head;
while (tail->next != temp)
{
tail = tail->next;
}
tail->next = temp->next;
free(temp);
}

Komentar

Postingan populer dari blog ini

Final Review

Linked List II