DATA STRUCTURE
- Pointer & Array
- Linked List
Data Structure : Bagaimana cara mengolah data yang bergerak secara efektif dan efisien.
POINTER & ARRAY
- POINTER
Setiap variabel pada C mempunyai sebuah nilai dan juga lokasi / alamat memori dan setiap compiler memiliki cara akses memori yang berbeda. Ketika variabel dideklarasi, suatu blok spesifik memori pada komputer akan dialokasikan untuk mempertahankan suatu niali(value). Size dari Integer dapat berbeda dari satu sistem ke sistem lainnya. Pada sistem 32 bit, suatu variabel Integer dialokasikan 4 bytes. Jika pada sistem 16 bit, dialokasikan 2 bytes.
Terdapat 2 operator penting pointer :
1. & -> the address operator(menyatakan posisi)
2. * -> the dereferencing operator(menyatakan isinya)
Pointer digunakan untuk membuat struktur data yang kompleks, yaitu trees, linked list, linked stack, linked queue, and graphs. Pointer menggunakan Dynamic Memory Allocation. Contoh : Belanja di online shop dan pesan makanan online.
- ARRAY
Jika indeks mulai dari 1[1] maka memori yang dipakai tidak akan efisien.
Array merupakan sekumpulan dari elemen yang memiliki tipe data yang sama. Antara satu variabel dengan variabel lain di dalamnya dibedakan berdasarkan Subscript. Di mana, Subscript merupakan suatu bilangan dalam kurung siku [].
Contoh penggunaan Array :
int Arr[10]
Artinya, array mempunyai indeks dari [0-9] yang merupakan sekumpulan data bertipe data integer.
- LINKED LIST
Linked List -> Harus terdapat pointer next yang berhubungan.
-> Posisinya random (yang menunjukkan di mana posisinya adalah pointer next).
Terdapat Single Linked List dan Double Linked List.
1. Single Linked List -> Tak dapat berbalik (hanya 1 arah). Maka, dibuat prev. agar dapat berbalik di mana salah satu menunjuk ke NULL dan satu lagi menunjuk ke yang lain.
2. Double Linked List -> Linked list dengan node yang memiliki data dan dua buah reference link (biasanya disebut next dan prev) yang menunjuk ke node sebelum dan node sesudahnya.
Linked List Vs Array
Linked List -> Dynamic Memory Allocation (Malloc : Mengembalikan void*, maka membutuhkan typecasting).
Linked List sangatlah berguna, karena kita tak bisa membatasi jumlah user.
Tidak ada komentar:
Posting Komentar