public class MyClass {
Node head;
class Node {
int data;
Node next;
Node(int n) { data = n; next = null; }
}
void insert(Node new_node) {
Node current;
if (head == null || head.data >= new_node.data) {
new_node.next = head;
head = new_node;
}
else {
current = head;
while (current.next != null && current.next.data < new_node.data)
current = current.next;
new_node.next = current.next;
current.next = new_node;
}
}
Node set_new_node(int data) {
Node n = new Node(data);
return n;
}
void print_list() {
Node tmp = head;
while (tmp != null) {
System.out.print(tmp.data + " ");
tmp = tmp.next;
}
}
public static void main(String args[]) {
MyClass ll = new MyClass();
Node new_node;
new_node = ll.set_new_node(9);
ll.insert(new_node);
new_node = ll.set_new_node(12);
ll.insert(new_node);
new_node = ll.set_new_node(3);
ll.insert(new_node);
new_node = ll.set_new_node(1);
ll.insert(new_node);
new_node = ll.set_new_node(5);
ll.insert(new_node);
ll.print_list();
}
}
/*
run:
1 3 5 9 12
*/