Langsung ke konten utama

Single Linked List,Fungsi Push dan Pop

Apa itu Push dan Pop?

Pada linked list, terdapat istilah push, dan pop, dimana push berarti insert data baru pada linked list tersebut, dimana kita bisa push dari depan(dimana data yang kita masukkan berada di paling depan linked list kita dan data yang kita masukkan tersebut menjadi head), belakang (dimana data yang kita masukkan akan berada di paling belakang linked list kita dan data yang kita masukkan tersebut menjadi tail) atau dari tengah( data yang kita masukkan bukan berada di head maupun tail, melainkan berada di tengah-tengah linked list). Sedangkan pop berarti mendelete data, data dari depan, tengah dan juga belakang. Pada linked list, head berarti yang paling depan pada linked list tersebut, sedangkan tail berarti data yang terakhir.Untuk mendelete/pop, hal pertama kali yang harus kita selamatkan adalah menyelamatkan head dan juga tail nya, selain itu juga pertama kali kita harus mencari apa yang ingin kita hapus, menghapus data tersebut dan juga menghubungkan data-data yang masih ada.


Single Linked List


Pada single linked list, hanya terdapat satu panah(kita bisa akses dari head ke tail, tapi tidak bisa dari tail ke head). Untuk melakukan insert maka yang pertama kali harus kita lakukan adalah memesan tempat terlebih dahulu.Pada C, bisa menggunakan fungsi malloc yang diinclude dari library #include <stdlib.h>.
Single Linked hanya memiliki satu variabel pointer saja. Dimana pointer tersebut menunjuk ke node selanjutnya. Biasanya field pada tail menunjuk ke NULL. Contoh : 

Berikut adalah beberapa contoh condingan dalam linked list

Contoh Codingan deklarasi single linked list : 


struct tnode{
int nim;
char nama[10];
struct tnode *next;
}*head,*tail,*current;

Contoh Codingan Fungsi  Push Head / Depan : 

void pushHead(int nim,char nama[]){
struct tnode *current = (struct tnode *) malloc(sizeof(struct tnode));
current->nim = nim;
strcpy(current->nama,nama);
if(head==NULL){
head = tail = current;
}else{
current->next=head;
head = current;
}
}

Contoh Codingan Fungsi Push Mid/Tengah : 

void pushMid(int pos,int nim,char nama[]){
struct tnode *current  = (struct tnode *) malloc(sizeof(struct tnode));
current->nim = nim;
strcpy(current->nama,nama);
tnode *temp=head;
if(head==NULL){
head=tail=current;
}else{
int i = 1;
while(i<pos-1){
temp=temp->next;
i++;
}
if(temp->next==NULL){
printf("Error Input\n");
}else{
current->next = temp->next;
temp->next = current;
}
}
}

Contoh Codingan Fungsi Push Tail / Belakang : 
void pushTail(int nim,char nama[]){
struct tnode *current = (struct tnode *) malloc(sizeof(struct tnode));
current->nim = nim;
strcpy(current->nama,nama);
if(head == NULL){
head=tail=current;
}else{
tail->next = current;
tail = current;
tail->next = NULL;
}
}
Contoh Codingan Fungsi Pop Head / Hapus Depan : 

void popHead(){
struct tnode *temp;
if (head==tail){
free(current);
head=tail=current=NULL;
}else{
temp=head;
head = temp->next;
free(temp);
}
}

Sekian rangkuman single linked list dari saya, mohon maaf jika ada kesalahan atau kurang lengkap, Terima Kasih.

Komentar

Postingan populer dari blog ini

Apa Itu Linked List?

Linked List adalah bagian dari Struktur Data Linked list atau dikenal juga dengan sebutan senarai berantai adalah struktur data yang terdiri dari urutan record data dimana setiap record memliki field yang menyimoan alamat/ referensi dari record selanjutnya (dalam urutan) elemen data yang dihubungkan dengan link pada linked list disebut Node. Biasanya didalam suatu lnked list, terdapat istilah head and tail. •             Head adalah elemen yang berada pada posisi pertama dalam suatu linked list •             Tail adalah element yang berada pada posisis terakhir dalam suatu linked list Ada Beberapa macam Linked List, yaitu: 1.             Single Linked List Single Linked List merupakan suatu linked list yang hanya memiliki satu varuabel pointer saja. Dimana pointer tersebut menunjuk ke node selanjutnya...

Summary before mid semester

Apa itu Linked List? Linked List adalah bagian dari Struktur Data Linked list atau dikenal juga dengan sebutan senarai berantai adalah struktur data yang terdiri dari urutan record data dimana setiap record memliki field yang menyimoan alamat/ referensi dari record selanjutnya (dalam urutan) elemen data yang dihubungkan dengan link pada linked list disebut Node. Biasanya didalam suatu lnked list, terdapat istilah head and tail. •             Head adalah elemen yang berada pada posisi pertama dalam suatu linked list •             Tail adalah element yang berada pada posisis terakhir dalam suatu linked list Ada Beberapa macam Linked List, yaitu: 1.             Single Linked List Single Linked List merupakan suatu linked list yang hanya memiliki satu varuabel pointer saja. Dimana pointer tersebut m...