120 likes | 397 Views
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
E N D
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 PembentukanSingle-linked list memerlukan : • Deklarasitipesimpul • Deklarasivariabel pointer penunjukawal linked list • Pembentukansimpulbaru • Pengaitansimpulberuke linked list yang telahterbentuk
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 NULL first first=aktif=bantu NULL NULL aktif NULL
Membuat single linked listnya... Sekarang.... Bagaimana kalau FIRST tidak bernilai NULL..?? • Hubungkan pointer next darielemenaktif (aktif) ke node yang barusaja dibuat • Elemenaktif (aktif) kemudian dipindah keelemen yang baru saja dibuat else { aktif->next = bantu; aktif = bantu; } bantu NULL head=aktif 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
Bagaimana guys....??? OK.... Selamat MENCOBA.... Kalau sudah mengerti, coba membuat SINGLE LINKED LIST dengan jumlah elemen dan info tiap elemen diinput manual....