Linked list :
Linked list (list bertaut) adalah salah satu struktur data dasar yang sangat fundamental. Dengan menggunakan linked list maka programmer dapat menimpan datanya kapanpun dibutuhkan.hampir sama kaya nya dah dengan array. :D
Linked list adalah struktur data berupa deret data yang dinamis, karena dapat ditambahkan ataupun dihapus. Adapun bagian dari linked list :
- linked list terdiri dari rantai node/ simpul dimana tiap node terdiri dari data, pointer yang merujuk data node-nya sendiri dan pointer merujuk pada node yang mengikutinya.
- Linked list memilki head/ kepala (node awal) dan tail/ekor (node akhir). Karena tail adalah node akhir, dengan demikian, dalam node tail, pointer yang merujuk pada node selanjutnya adalah samadengan NULL.
- Jika linked list hanya terdiri dari satu node, maka, dalam node tersebut, pointer yang merujuk pada node selanjutnya adalah samadengan NULL.
jenis-jenis linked list.
> Singly linked list
> Double linked list
> Multie linked list
Contoh Coding :
#include //Library untuk standar input output
#include /*Standar library untuk jeda/menghentikan sementara
console saat program dijalankan */
#include //Library untuk menangani string/karakter
typedef struct simpul { /*Deklarasi struktur dengan nama simpul yang
mempunyai anggota dengan berbagai tipe data
berikut */
char nama[20]; /*Deklarasi variabel nama bertipe integer
dengan batas karakter 20 */
float nilai; /*Deklarasi variabel nilai bertipe float */
struct simpul *next_simpul; /*Deklarasi struktur simpul dengan
pointer simpul berikutnya sebagai node */
} simpulku; //Nama variabel simpulku
void main()
{
//Deklarasi pointer dari simpulku spasi nama variabel
simpulku *simpul1, *simpul2, *simpul3, *simpul4, *temp;
//alokasikan memorinya dulu
simpul1 = (simpulku *)malloc(sizeof(simpulku)); /*pengalokasian alamat
memori ke dalam variabel simpul1*/
simpul2 = (simpulku *)malloc(sizeof(simpulku));/*pengalokasian alamat
memori ke dalam variabel simpul2*/
simpul3 = (simpulku *)malloc(sizeof(simpulku));/*pengalokasian alamat
memori ke dalam variabel simpul3*/
//isi data masing2 simpul
strcpy(simpul1->nama, "Amin"); /*mengcopy variabel nama string
"Amin" ke variabel simpul 1*/
strcpy(simpul2->nama, "Budi");/*mengcopy variabel nama string
"Budi" ke variabel simpul 2*/
strcpy(simpul3->nama, "Citra");/*mengcopy variabel nama string
"Citra" ke variabel simpul 3*/
simpul1->nilai=90; /*string dari variabel simpul1
("Amin") bernilai 90*/
simpul2->nilai=20;/*string dari variabel simpul2
("Budi") bernilai 20 */
simpul3->nilai=100; /*string dari variabel simpul3
("Citra") bernilai 100 */
simpul1->next_simpul = NULL;
//sambungkan link masing2 simpul
simpul1->next_simpul = simpul2; /* membuat node (penghubung) dari simpul */
simpul2->next_simpul = simpul3;
simpul3->next_simpul = NULL; /*Null artinya setelah simpul3 tidak ada
lagi simpul penghubung (node) */
//tampilkan hasilnya, mulai dr simpul 1
temp = simpul1; //cara satu per satu
printf("%s, %f\n", temp->nama, temp->nilai);
/*temp->nama adalah "Amin" , temp->nilai adalah 90 */
temp = temp->next_simpul; //node (penghubung)
printf("%s, %f\n", temp->nama, temp->nilai);
/*temp->nama adalah "Budi" , temp->nilai adalah 20 */
temp = temp->next_simpul;
printf("%s, %f\n", temp->nama, temp->nilai);
/*temp->nama adalah "Citra" , temp->nilai adalah 100 */
printf("\n"); //menambahkan baris baru
//skenario menambahkan simpul baru
simpul4 = (simpulku *)malloc(sizeof(simpulku)); /*siapkan alokasi
memori ke variabel simpul4 */
strcpy(simpul4->nama, "Dewi");simpul4->nilai=80; /*Menyalin isi
variabel nama Dewi
ke variabel simpul4 kemudian diberi
nilai 80 */
simpul2->next_simpul = simpul4; //update link
simpul4->next_simpul = simpul3;
printf("\n");
temp = simpul1;
for(;temp!=NULL; temp=temp->next_simpul) //cara looping
printf("%s, %f\n", temp->nama, temp->nilai);
//menghapus simpul budi
simpul1->next_simpul = simpul4; //update link
free(simpul2); //hapus simpul
printf("\n");
temp = simpul1;
for(;temp!=NULL; temp=temp->next_simpul) //cara looping
printf("%s, %f\n", temp->nama, temp->nilai);
system("pause");
return 0;
}
Nama : Daniel Dotulong
Nim : 1701297021
This is the perfect post. It helped me a lot.
BalasHapus카지노사이트존
Great & nice articles with a lot of information to read. 카지노사이트
BalasHapusYour article is what I've been looking for for a long time. I'm happy to find you like this.
BalasHapus바카라사이트윈
Love this blog! Thanks a lot for sharing this marvelous post. Very useful!!
BalasHapus카지노사이트위키
온라인카지노사이트
카지노사이트탑
바카라사이트
You have touched some pleasant factors here. Any way keep up writing.
BalasHapus카지노사이트
온라인카지노
카지노
바카라
I must say that this is a great post. Really I am impressed from this post.
BalasHapus바카라사이트
Thanks for your beyond belief blogs stuff, really love to read it.
BalasHapus스포츠토토