public class Algoritmi {
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.insert_node_at_end(1);
list.insert_node_at_end(2);
list.insert_node_at_end(3);
list.print();
list.delete_node(2);
list.print();
}
}
class LinkedList {
class Node {
int data;
Node next;
public Node(int x) {
data = x;
next = null;
}
}
Node head; // starting node of linked list
public void insert_node_at_beginning(int x) {
if(head == null) {
head = new Node(x);
return;
}
Node new_node = new Node(x);
new_node.next = head;
head = new_node;
}
public void insert_node_at_end(int x) {
if(head == null) {
head = new Node(x);
return;
}
Node new_node = new Node(x);
Node tmp = head;
while(tmp.next != null) {
tmp = tmp.next;
}
tmp.next = new_node;
}
public void delete_node(int x) {
Node current_node = head;
Node prev_node = null;
while(current_node != null && current_node.data != x) {
prev_node = current_node;
current_node = current_node.next;
}
prev_node.next = current_node.next;
}
public void print() {
Node tmp = head;
while(tmp != null) {
System.out.print(tmp.data + " --> ");
tmp = tmp.next;
}
System.out.println();
}
}