CARA MEMBUAT SINGLE LINKED LIST DENGAN BORLAND C++

Download Report

Transcript CARA MEMBUAT SINGLE LINKED LIST DENGAN BORLAND C++

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..??
bantu
B
if(first==NULL)
{
first = bantu;
aktif = bantu;
}
next
NULL
first
NULL
first=aktif=bantu
next
NULL
next
NULL
aktif
NULL
B
next
NULL
MEMBUAT SINGLE LINKED LISTNYA...
Sekarang.... Bagaimana kalau FIRST tidak
bernilai NULL..??
1. Hubungkan pointer next dari elemen aktif
(aktif) ke node yang baru saja dibuat
2. Elemen aktif (aktif) kemudian dipindah ke
elemen yang baru saja dibuat
bantu
else
B
NULL
C
next
{
head=aktif
C
aktif->next = bantu; B next NULL
aktif = bantu;
}
next
next
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;
1.
2.
3.
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....