Konsep pointer pertemuan 5
Nama: Ananda Eko Purwanto
Nim: 17190319







Nim: 17190319
·
KONSEP POINTER
Pointer digunakan sebagai penunjuk kesuatu alamat memori
Dalam pemrograman C++ Type Data Pointer dideklarasikan dengan
bentuk umum:
Type Data * Nama Variabel;
Type Data dapat berupa sembarang type data, misalnya
char, int ataufloat. Sedangkan Nama veriabel merupakan nama variabel pointer.
·
KONSEP LINKED LIST
Salah satu Struktur Data Dinamis yang paling sederhana adalah
Linked List yaitu suatu kumpulan komponen yang disusun secara berurutan dengan bantuan
Pointer.
Setiap simpul dalam suatu Linked List terbagi menjadi dua
bagian,yaitu :
1.Medan Informasi
2.Medan Penyambung (Link Field)
·
PERBEDAAN ARRAY DAN
LINKED LIST
PERBEDAAN ARRAY DAN
LINKED LIST
·
SINGLE LINKED LIST NON CIRCULAR
Single : field
pointer-nya hanya satu dan satu arah,pada akhir node pointernya menunjuk NULL
Linked List :
node-node tersebut saling terhubung satu sama lain.
Deklarasi Node :
typedef struct TNode { int data;
TNode *next; };
Keterangan:
•Pembuatan struct
bernama TNode yang berisi 2 field, yaitu field data bertipe integer dan field
nextyang bertipe pointer dari TNode
•Setelah pembuatan
struct, buat variabel head yang bertipe pointer dari TNode yang berguna sebagai
kepala linked list.
•Digunakan
perintah newuntuk mempersiapkan sebuah node baru berserta alokasi memorinya,
kemudian node tersebut diisi data dan pointer nextnya ditunjuk ke NULL.
TNode *baru; baru
= new TNode; baru->data = databaru; baru->next = NULL;
·
SINGLE LINKED LIST NON CIRCULAR
MENGGUNAKAN HEAD
Manipulasi linked
list tidak dapat dilakukan langsung ke node yang dituju, melainkan harus
menggunakan suatu pointer penunjuk ke node pertama (Head) dalam linked list.
Deklarasinya sebagai berikut:
TNode *head;
Menambah Node di Depan :
•Penambahan node baru akan dikaitan di node paling depan, namun pada
saat pertama kali (data masih kosong) maka penambahan data dilakukan dengan
cara: node head ditunjukkan ke node baru tersebut.
•Prinsipnya adalah mengkaitkan node baru dengan head, head akan
menunjuk pada data baru tersebut, head akan tetap selalu menjadi data terdepan.


Menambah Node di
Belakang
•Penambahan data
dilakukan di belakang, namun pada saat pertama kali, node langsung ditunjuk
oleh head.
•Penambahan di
belakang membutuhkan pointer bantu untuk mengetahui node terbelakang. Kemudian,
dikaitkan dengan node baru.
•Untuk mengetahui
data terbelakang perlu digunakan perulangan.

·
Single Linked Listnon Circular Menggunakan Head dan Tail
Dibutuhkan dua variabel pointer : head dan tail
Head selalu menunjuk pada node pertama,
sedangkan tail selalu menunjuk pada node terakhir.
Inisialisasi
Linked List
TNode *head, *tail;
Fungsi
Inisialisasi Linked List
Void init(){ head = NULL; tail =
NULL; }




Function untuk
menghapus semua elemen LinkedList dengan HEAD & TAIL
void clear() { TNode
*bantu,*hapus; bantu = head; while(bantu!=NULL) { hapus = bantu; bantu =
bantu->next; delete hapus; }
head = NULL; tail
= NULL; }
·

Komentar
Posting Komentar