Sie sind auf Seite 1von 3

class Node{ int data; Node next; } class LinkedList{ Node head; //posisi awal dari linked list

Node tail; //posisi akhir dari linked list /** * Fungsi untuk mengecek apakah linked list masih kosong */ boolean isEmpty(){ return (head==null); } void addFirst(Node input){ if (isEmpty()){ //Jika linked list masih kosong, head = input; //maka head dan tail sama dengan node in put tail = input; } else { input.next = head; //Jika linked list sudah berisi, head = input; //maka input akan di depan dan menjadi h ead } } void addLast(Node input){ if (isEmpty()){ //Jika linked list masih kosong, head = input; //maka head dan tail sama dengan node in put tail = input; } else { tail.next = input; //Jika linked list sudah berisi, tail = input; //maka input akan di belakang dan menjad i tail } } void insertAfter(int key,Node input){ Node temp = head; do { if (temp.data == key){ //Jika data sama dengan key, mak a input input.next = temp.next; //disambung diantara tem p dan temp.next temp.next = input; System.out.println("Insert data is succeed."); break; //dari temp --> temp.next menjadi : } //temp --> input --> temp.next temp = temp.next; } while (temp!=null); } void insertBefore(int key,Node input){ Node temp = head; while (temp != null){

if ((temp.data == key)&&(temp == head)){ this.addFirst(input); /* jika insert pada awal linked list maka call method addFirs t */ System.out.println("Insert data is succeed."); break; } else if (temp.next.data == key){ input.next = temp.next; //dari temp --> temp.nex t menjadi temp.next = input; -> input --> temp.next System.out.println("Insert data is succeed."); break; } temp = temp.next; } } void removeFirst(){ Node temp = head; if (!isEmpty()){ if (head == tail){ //jika element linked li st hanya 1, head = tail = null; //maka head dan tail men jadi null } //sehingga linked list k osong else { temp = temp.next; //memajukan temp ke temp .next head = temp; //kemudian head dipindah ke temp temp = null; //kemudian temp di-null (optional) } } else System.out.println("Data is empty!"); } void removeLast(){ Node temp = head; if (!isEmpty()){ if (tail == head){ st hanya 1 head = tail = null; jadi null } osong else { while (temp.next != tail){ temp = temp.next; satu elemen } m tail. temp.next = null; jadi akhir LL tail = temp; //tail temp = null; //temp -

//jika element linked li //maka head dan tail men //sehingga linked list k

//memajukan temp hingga //sebelu //temp.next di-null,dan dipindah ke temp

} } else System.out.println("Data is empty!"); } void remove(int key){ Node temp = head; if (!isEmpty()){ while (temp != null){ if (temp.next.data == key){ //mengganti temp .next dengan temp.next = temp.next.next; //temp.next. next break; //dari temp --> temp.next -->tem p.next.next } //menjadi temp --> temp. next.next else if ((temp.data == key)&&(temp == head)){ this.removeFirst();//jika key berada pad a awal linked list, break; //maka call method remov eFirst } temp = temp.next; } } else System.out.println("Data is empty!"); } void find (int key){ int i = 0; boolean found = false; Node temp = head; while (temp != null){ if (temp.data == key){ found = true; break; } i++; temp = temp.next; } if (found){ System.out.println(key+" is found at index "+i); } else System.out.println("Data isn't found"); } void printNode(){ Node temp; temp = head; while (temp != null){ System.out.println(temp.data); temp = temp.next; } } }

Das könnte Ihnen auch gefallen