Cara Membuat Struktur Data Linked List
di Java
Membuat struktur data yang secara efektif mengelola koleksi elemen dapat menjadi tantangan dalam pemrograman. Salah satu struktur yang paling umum digunakan adalah Linked List
. Dalam tulisan blog ini, kami akan membimbing Anda melalui proses membuat Linked List
di Java
, meskipun sudah ada kelas bawaan yang tersedia di pustaka standar Java.
Memahami Permasalahan
Ketika Anda memikirkan tentang struktur data, Anda mungkin berpikir tentang array, tetapi terkadang mereka tidak memadai. Di sinilah linked list
berperan. Linked List
memungkinkan Anda untuk dengan efisien menyisipkan dan menghapus elemen tanpa perlu mengubah ukuran sebuah array. Ini terdiri dari urutan node di mana setiap node berisi data dan referensi ke node berikutnya.
Opsi Bawaan
Java menyediakan kelas LinkedList
bawaan dalam paket java.util
, yang convenient dan cocok untuk banyak situasi. Namun, kemampuan untuk membuat implementasi Anda sendiri dapat memperdalam pemahaman Anda dan memberi Anda lebih banyak kontrol terhadap perilaku struktur data.
Membuat Linked List
Sendiri
Di bawah ini, kita akan menjelajahi cara membangun Linked List
sederhana kita dari awal. Untuk tutorial ini, kita akan fokus pada singly linked list yang memungkinkan penyisipan dan penghapusan node dari awal.
Langkah 1: Mendefinisikan Kelas Link
Pertama, kita perlu membuat kelas Link
untuk merepresentasikan setiap elemen dalam daftar. Inilah tampilannya dalam kode:
class Link {
public int data1;
public double data2;
public Link nextLink;
// Konstruktor Link
public Link(int d1, double d2) {
data1 = d1;
data2 = d2;
}
// Mencetak data Link
public void printLink() {
System.out.print("{" + data1 + ", " + data2 + "} ");
}
}
Langkah 2: Mendefinisikan Kelas LinkList
Selanjutnya, kita perlu kelas untuk seluruh daftar itu sendiri:
class LinkList {
private Link first;
// Konstruktor LinkList
public LinkList() {
first = null;
}
// Mengembalikan true jika daftar kosong
public boolean isEmpty() {
return first == null;
}
// Menyisipkan Link baru di awal daftar
public void insert(int d1, double d2) {
Link link = new Link(d1, d2);
link.nextLink = first;
first = link;
}
// Menghapus link di depan daftar
public Link delete() {
Link temp = first;
if (first == null) {
return null; // atau throw Exception
}
first = first.nextLink;
return temp;
}
// Mencetak semua link dalam daftar
public void printList() {
Link currentLink = first;
System.out.print("Daftar: ");
while (currentLink != null) {
currentLink.printLink();
currentLink = currentLink.nextLink;
}
System.out.println("");
}
}
Langkah 3: Menguji LinkList
Akhirnya, mari kita terapkan metode utama untuk menguji Linked List
kita:
class LinkListTest {
public static void main(String[] args) {
LinkList list = new LinkList();
// Menyisipkan beberapa elemen
list.insert(1, 1.01);
list.insert(2, 2.02);
list.insert(3, 3.03);
list.insert(4, 4.04);
list.insert(5, 5.05);
// Mencetak daftar
list.printList();
// Menghapus elemen
while (!list.isEmpty()) {
Link deletedLink = list.delete();
System.out.print("dihapus: ");
deletedLink.printLink();
System.out.println("");
}
list.printList();
}
}
Kesimpulan
Dalam tulisan blog ini, kami menjelajahi cara membuat Linked List
kustom di Java
, lengkap dengan metode penting untuk menyisipkan, menghapus, dan mencetak node. Meskipun kelas LinkedList
bawaan di pustaka standar Java mungkin sudah cukup untuk banyak aplikasi, menerapkan versi Anda sendiri bisa menjadi pengalaman yang bermanfaat yang meningkatkan keterampilan pemrograman Anda.
Peningkatan Selanjutnya
Setelah menguasai implementasi dasar ini, pertimbangkan untuk menambahkan:
- Double-linked List: Setiap node harus memiliki referensi ke node berikutnya dan sebelumnya.
- Insert/Delete Tengah/Akhir: Metode untuk menambah atau menghapus node dari berbagai posisi.
- Metode Ambil dan Urut: Fungsi untuk mengambil elemen tertentu atau mengurutkan linked list.
Menjadi akrab dengan peningkatan ini dapat membawa keterampilan Anda ke tingkat berikutnya. Selamat coding!