You are on page 1of 5

ALGORITMA DAN STRUKTUR DATA

RESMI

PRAKTIKUM SINGLE LINKED LIST 2


-

PRADITYA NAFIIS MUHAMMAD

2 D3 IT B

2103181032

YULIANA SETYOWATI

30 OKTOBER 2019
A. removeLast()
 Gambar

 Listing Program
public T removeLast() {
Node<T> curr = front;
while (curr.next != tail) {
curr = curr.next;
}
//return curr.nodeValue;
T temp = tail.nodeValue;
tail = curr;
tail.next = null;
size--;
return temp;
}
public static void main(String[] args) {
SingleLinkedList<String> sll = new SingleLinkedList<String>();
System.out.println("Apakah SLL kosong? " + sll.isEmpty());

sll.addFirst("Merah");
sll.addFirst("Kuning");
sll.addFirst("Hijau");

System.out.println("Jumlah SLL : " + sll.size());


System.out.println(sll.toString());

System.out.println(sll.removeLast());
System.out.println("Jumlah SLL : " + sll.size());
System.out.println(sll.toString());
}
 Output Program

B. remove(Object o)
 Gambar

 Listing Program
public T remove(int index) {
Node<T> curr = front, prev = null;
if (index>size-1){
return null;
}
if (index == 0) {
return removeFirst();
}else if (index == size - 1) {
return removeLast();
}else {
for (int i = 0; i < index; i++) {
prev = curr;
curr = curr.next;
}
T temp = curr.nodeValue;
prev.next = curr.next;
curr.next = null;
curr = null;
size--;
return temp;
}
}
public static void main(String[] args) {
SingleLinkedList<String> sll = new SingleLinkedList<String>();
System.out.println("Apakah SLL kosong? " + sll.isEmpty());

sll.addFirst("Merah");
sll.addFirst("Kuning");
sll.addFirst("Hijau");

System.out.println("Jumlah SLL : " + sll.size());


System.out.println(sll.toString());

System.out.println(sll.remove(1));
System.out.println("Jumlah SLL : " + sll.size());
System.out.println(sll.toString());
}
 Output Program

C. indexOf()
 Listing Program
public int indexOf(Object o) {
int index = 0;
Node<T> node = (Node<T>) o;
Node<T> curr = front;
while (curr != null && curr.nodeValue != node.nodeValue) {
curr = curr.next;
index++;
}
return index;
}

public static void main(String[] args) {


SingleLinkedList<String> sll = new SingleLinkedList<String>();
System.out.println("Apakah SLL kosong? " + sll.isEmpty());

sll.addFirst("Merah");
sll.addFirst("Kuning");
sll.addFirst("Hijau");

System.out.println("Jumlah SLL : " + sll.size());


System.out.println(sll.toString());

Node<String> node = new Node<String>("Merah");


System.out.println("SLL 'Merah' ada pada index? " + sll.indexOf(node));
}
 Output Program

D. contains(Object o)
 Listing Program
public boolean contains(Object o) {
Node<T> node = (Node<T>) o;
Node<T> curr = front;
while (curr != null && curr.nodeValue != node.nodeValue) {
curr = curr.next;
}
if (curr == null){
return false;
}
else return true;
}

public static void main(String[] args) {


SingleLinkedList<String> sll = new SingleLinkedList<String>();
System.out.println("Apakah SLL kosong? " + sll.isEmpty());

sll.addFirst("Merah");
sll.addFirst("Kuning");
sll.addFirst("Hijau");

System.out.println("Jumlah SLL : " + sll.size());


System.out.println(sll.toString());

Node<String> node = new Node<String>("Merah");


System.out.println("Apakah SLL berisi 'merah'? " + sll.contains(node));
}

 Output Program

You might also like