CARA MEMBUAT SINGLE LINKED LIST DENGAN BORLAND C++
Pendahuluan.... Sebelum kita mulai membuat Single Linked List, kita sudah tahu bahwa sebuah Single Linked List terdiri dari beberapa elemen. Dan setiap elemen memiliki 2 ruang, yaitu INFO dan NextPointer Dan untuk Single Linked List, hanya memiliki satu NextPointer yang menuju elemen selanjutnya
Single Linked List Pembentukan Single-linked list memerlukan : Deklarasi tipe simpul Deklarasi variabel pointer penunjuk awal linked list Pembentukan simpul baru Pengaitan simpul beru ke linked list yang telah terbentuk
Mendeklarasikan elemen dengan sebuah struct Membuat sebuah struct berisi 2 field, field info bertipe integer dan field next bertipe pointer struct TElemen { int info; struct TElemen *next; };
Mendeklarasikan beberapa variabel pointer Mendeklarasikan beberapa variabel pointer bertipe struct TElemen Variabel tersebut digunakan sebagai awal dari linked list, elemen aktif dalam linked list dan elemen sementara yang akan digunakan membuat elemen baru Dan beri nilai awal NULL untuk masing2 variabel struct TElemen *first=NULL, *aktif=NULL, *bantu=NULL;
Membuat single linked listnya... Membuat single linked list dengan nilai yang telah ditentukan (dengan perulangan) Buat perulangan untuk info 1 s/d 5 for (i=1;i<=5;i++) membuat 5 elemen, yang masing2 elemen berisikan info dari 1 s/d 5, dengan menggunakan fungsi malloc() bantu = (struct TElemen *) malloc(sizeof(struct TElemen)); bantu->info = i;
Membuat single linked listnya... Lalu membuat elemen dan penghubungnya. Awalnya : uji apakah FIRST elemen bernilai NULL..?? if(first==NULL) { first = bantu; aktif = bantu; } bantu B next NULL first first=aktif=bantu NULL next NULL B next NULL aktif NULL next NULL
Membuat single linked listnya... Sekarang.... Bagaimana kalau FIRST tidak bernilai NULL..?? Hubungkan pointer next dari elemen aktif (aktif) ke node yang baru saja dibuat Elemen aktif (aktif) kemudian dipindah ke elemen yang baru saja dibuat else { aktif->next = bantu; aktif = bantu; } bantu C next NULL B next head=aktif C next B next NULL NULL
Membuat single linked listnya... Setelah semua selesai dibuat, saatnya menghubungkan pointer next untuk mata rantai terakhir ke NULL aktif->next = NULL;
Membuat single linked listnya... Mencetak field x untuk semua elemen. Dari FIRST sampai elemen terakhir aktif = first; While(aktif=NULL) { cout<<" "<<aktif->info<<"-->"; aktif=aktif->next; } cout<<"NULL"<<endl; Meletakkan elmt aktif (aktif) ke posisi FIRST. Kunjungi satu persatu emlt dengan memindahkan emlt aktif (aktif) ke posisi sebelahnya Semua kunjungan akan dilakukan apabila elmt aktif (aktif) tidak menemui nilai NULL
OK.... Selamat MENCOBA.... Bagaimana guys....??? Kalau sudah mengerti, coba membuat SINGLE LINKED LIST dengan jumlah elemen dan info tiap elemen diinput manual....