Single Linked List
adalah sekumpulan dari node yang saling terhubung dengan node lain menggunakan sebuah pointer. Rangkaian linked list tersebut diawali dengan sebuah head untuk menyimpan alamat awal dan di akhiri dengan node yang mengarah ke NULL.
Single linked list hanya memiliki satu arah dan tidak bisa kembali ke data sebelumnya.Ada juga yang bernama double linked list yang dapat mengakses data sebelumnya menggunakan pointer yang mengarah ke alamat sebelumnya.
Contoh gambar single linked list:

Di dalam linked list ada juga yang disebut dengan push, yaitu mendorong sebuah value ke dalam node yang terhubung tersebut. Dibagi dua menjadi push depan dan push belakang. contoh kodingan push depan dan push belakang adalah sebagai berikut.
void pushHead(int n){
struct node *temp = (struct node*)malloc(sizeof(struct node*));
if(head == NULL){
temp->nilai = n;
temp->next = NULL;
head = temp;
tail = temp;
} else {
temp->next = head;
temp->nilai = n;
head = temp;
}
}
void pushTail(int n){
struct node *temp = (struct node*)malloc(sizeof(struct node*));
if(head == NULL){
temp->nilai = n;
temp->next = NULL;
head = temp;
tail = temp;
} else {
tail->next = temp;
temp->nilai = n;
temp->next = NULL;
}
}
dan cara print dapat dilakukan dengan cara seperti ini.
void printlinkedlist(){
struct node *curr = head;
while(curr != NULL){
printf("%d ", curr->nilai);
curr = curr->next;
}
}
adalah sekumpulan dari node yang saling terhubung dengan node lain menggunakan sebuah pointer. Rangkaian linked list tersebut diawali dengan sebuah head untuk menyimpan alamat awal dan di akhiri dengan node yang mengarah ke NULL.
Single linked list hanya memiliki satu arah dan tidak bisa kembali ke data sebelumnya.Ada juga yang bernama double linked list yang dapat mengakses data sebelumnya menggunakan pointer yang mengarah ke alamat sebelumnya.
Contoh gambar single linked list:

Di dalam linked list ada juga yang disebut dengan push, yaitu mendorong sebuah value ke dalam node yang terhubung tersebut. Dibagi dua menjadi push depan dan push belakang. contoh kodingan push depan dan push belakang adalah sebagai berikut.
void pushHead(int n){
struct node *temp = (struct node*)malloc(sizeof(struct node*));
if(head == NULL){
temp->nilai = n;
temp->next = NULL;
head = temp;
tail = temp;
} else {
temp->next = head;
temp->nilai = n;
head = temp;
}
}
void pushTail(int n){
struct node *temp = (struct node*)malloc(sizeof(struct node*));
if(head == NULL){
temp->nilai = n;
temp->next = NULL;
head = temp;
tail = temp;
} else {
tail->next = temp;
temp->nilai = n;
temp->next = NULL;
}
}
dan cara print dapat dilakukan dengan cara seperti ini.
void printlinkedlist(){
struct node *curr = head;
while(curr != NULL){
printf("%d ", curr->nilai);
curr = curr->next;
}
}
Comments
Post a Comment