Ordered LinkedList in JAVA

                   LinkedList merupakan sebuah metode dalam penyimpanan data selain kita menggunakan array. LinkedList ada beberapa macam seperti, Single LinkedList, Double LinkedList, dan Ordered LinkedList.                 
                  Single LinkedList merupakan LinkedList yang berjalan pada satu arah saja. Double LinkedList merupakan LinkedList yang berjalan pada dua arah sehingga memungkinkan kita melakukan pembacaan data dari kiri-kanan dan kanan-kiri. Sedangkan Ordered LinkedList merupakan Double LinkedList yang memiliki fitur pengurutan secara otomatis sehingga begitu kita menginputkan data sudah langsung urut.
                   Mengapa kita menggunakan Ordered LinkedList ?
Karena metode ini lebih praktis dan mempercepat pemrosesan data, disebabkan data yang kita masukan sebelumnya telah diurutkan terlebih dahulu, sehingga kita hanya membaca data sesuai urutan.
Berikut Script Java dari Ordered Linked List :

package ordered.linkedlist;

class Node {

    int data;
    Node prev;
    Node next;
}

public class OrderedLinkedList {

    static Node head, tail;

    static void insert(int new_data) {
        Node new_node = new Node();
        new_node.data = new_data;
        if (head == null && tail == null) { // Jika LinkList Kosong
            head = new_node;
            tail = new_node;
        } else if (new_node.data <= head.data) { //new_data < head
            head.prev = new_node;
            new_node.next = head;
            head = new_node;
        } else if (new_node.data >= tail.data) { //new_data > tail
            new_node.prev = tail;
            tail.next = new_node;
            tail = new_node;
        } else { //data di antara link list
            Node position = head;
            while (position.data < new_node.data) {
                position = position.next;
            }
            position.prev.next = new_node;
            new_node.prev = position.prev;
            position.prev = new_node; //data sebelum position berganti jadi new_node
            new_node.next = position;
        }
    }

    static void delete(int data) {
        if (head == null && tail == null) {
            // ridak bisa dihapus, karena tidak ada data
        } else if (head == tail && head.data == data) { //satu data saja
            head = null;
            tail = null;
        } else if (head.data == data) { //data yg dihapus ==head
            head.next.prev = null;
            head = head.next;
        } else if (tail.data == data) { //data yg dihapus == tail
            tail.prev.next = null;
            tail = tail.prev;
        } else {
            Node position = head;
            while (position!= null && position.data != data) {
                position = position.next;
            }
            if (position == null) {
                System.out.println("Data Tidak Ada");
            } else if (position != null) {
                Node previous = position.prev;
                Node next = position.next;
                previous.next = next;
                next.prev = previous;
            }
        }
    }

    static void traverse() { //sama dengan view() pada double_linklist
        Node x = head;
        while (x != null) {
            System.out.print(x.data + " - ");
            x = x.next;
        }
        System.out.println();
    }

    public static void main(String[] args) {
        insert(10);
        insert(5);
        insert(7);
        insert(3);
        insert(8);
        insert(12);
        insert(3);
        //delete(13);
        traverse();
    }

}

Previous
Next Post »

1 comments:

Click here for comments
Anonymous
admin
March 23, 2022 at 4:13 PM ×

Ordered Linkedlist In Java ~ Jopa Find Here >>>>> Download Now

>>>>> Download Full

Ordered Linkedlist In Java ~ Jopa Find Here >>>>> Download LINK

>>>>> Download Now

Ordered Linkedlist In Java ~ Jopa Find Here >>>>> Download Full

>>>>> Download LINK

Congrats bro Anonymous you got PERTAMAX...! hehehehe...
Reply
avatar
Thanks for your comment