3.
4.
5.
class Node{
int value;
Node next;
public Node(int i){
value = i;
next = null;
}
public Node(int i, Node n){
value = i;
next = n;
}
}
class MyLinkedList{
Node Head;
Node Tail;
public MyLinkedList() {
Head = new Node((int)(1 + Math.random()*(100 - 1 + 1))); //Math.random() return random number 0 - 1 this statement return int (1 - 100)
Tail = Head;
for (int i = 0; i < 9; i++){
addToTail((int)(1 + Math.random()*(100 - 1 + 1)));
}
}
public MyLinkedList(int ... args) { // Varargs(variable number of arguments)
Head = new Node(args[0]);
Tail = Head;
for (int i = 0; i < args.length; i++){
addToTail(args[i]);
}
}
public void addToHead(int v){
Node a = new Node(v, Head);
a.next = Head;
Head = a;
}
public void addToTail(int v){
Node a = new Node(v);
Tail.next = a;
Tail = a;
}
@Override
public String toString() { // define a string str for System.out.println(str)
String str = "";
Node node = Head;
while(node != null){
str += String.valueOf(node.value) + "-->";
node = node.next;
}
return str;
}
}
class test{
public static void main(String args[]) {
MyLinkedList l = new MyLinkedList();
System.out.println(l);
l.addToHead(100);
l.addToTail(100);
System.out.println(l);
MyLinkedList l2 = new MyLinkedList(1, 2, 3, 4);
System.out.println(l2);
}
}
Please login to reply. Login