CARA MEMBUAT SINGLE LINKED LIST DENGAN BORLAND C++

Post on 24-Feb-2016

126 views 0 download

description

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 - PowerPoint PPT Presentation

Transcript of 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 NextPointerDan untuk Single Linked List,

hanya memiliki satu NextPointer yang menuju elemen selanjutnya

SINGLE LINKED LISTPembentukan 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 STRUCTMembuat 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 TElemenVariabel 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; }

B next

NULL next

NULL next

bantu

first

aktif

NULL

NULL

NULL

B next NULLfirst=aktif=bantu

MEMBUAT SINGLE LINKED LISTNYA...Sekarang.... Bagaimana kalau FIRST tidak

bernilai NULL..??1. Hubungkan pointer next dari elemen aktif

(aktif) ke node yang baru saja dibuat2. Elemen aktif (aktif) kemudian dipindah ke

elemen yang baru saja dibuatelse { aktif->next = bantu; aktif = bantu; }

C next

B next

bantu

head=aktif

NULL

NULL C next

B 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. Meletakkan elmt aktif (aktif) ke posisi FIRST. 2. Kunjungi satu persatu emlt dengan memindahkan emlt aktif

(aktif) ke posisi sebelahnya3. 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....