diff --git a/Programs/Circular Integer LinkedList/Main.java b/Programs/LinkedList/Circular Integer LinkedList/Main.java similarity index 95% rename from Programs/Circular Integer LinkedList/Main.java rename to Programs/LinkedList/Circular Integer LinkedList/Main.java index 4832766..eaa262f 100644 --- a/Programs/Circular Integer LinkedList/Main.java +++ b/Programs/LinkedList/Circular Integer LinkedList/Main.java @@ -1,24 +1,24 @@ -public class Main { - - public static void main(String[] args) { - circularLinkedList list = new circularLinkedList(); - - /**adds 10 random number in linkedlist */ - for(int i=0;i<10;i++){ - int number = (int)(Math.random()*10); - list.add(number); - } - System.out.println("linkedlist:"); - list.print(); - System.out.println("size of linkedlist: "+list.size()); - System.out.println("\n"); - - list.delete(1); - list.delete(0); - - System.out.println("1. element is : "+list.getElement(1)); - System.out.println("head of linkedlist is: "+list.getElement(0)); - - } - -} +public class Main { + + public static void main(String[] args) { + circularLinkedList list = new circularLinkedList(); + + /**adds 10 random number in linkedlist */ + for(int i=0;i<10;i++){ + int number = (int)(Math.random()*10); + list.add(number); + } + System.out.println("linkedlist:"); + list.print(); + System.out.println("size of linkedlist: "+list.size()); + System.out.println("\n"); + + list.delete(1); + list.delete(0); + + System.out.println("1. element is : "+list.getElement(1)); + System.out.println("head of linkedlist is: "+list.getElement(0)); + + } + +} diff --git a/Programs/Circular Integer LinkedList/Node.java b/Programs/LinkedList/Circular Integer LinkedList/Node.java similarity index 91% rename from Programs/Circular Integer LinkedList/Node.java rename to Programs/LinkedList/Circular Integer LinkedList/Node.java index f5fc0da..2853740 100644 --- a/Programs/Circular Integer LinkedList/Node.java +++ b/Programs/LinkedList/Circular Integer LinkedList/Node.java @@ -1,19 +1,19 @@ -public class Node { - int data; - Node next; - - public Node(int a) { - data=a; - next=null; - - } - - public Node() { - data=-1; - next=null; - } - - public int getNodeElement(){ - return data; - } -} +public class Node { + int data; + Node next; + + public Node(int a) { + data=a; + next=null; + + } + + public Node() { + data=-1; + next=null; + } + + public int getNodeElement(){ + return data; + } +} diff --git a/Programs/Circular Integer LinkedList/circularLinkedList.java b/Programs/LinkedList/Circular Integer LinkedList/circularLinkedList.java similarity index 94% rename from Programs/Circular Integer LinkedList/circularLinkedList.java rename to Programs/LinkedList/Circular Integer LinkedList/circularLinkedList.java index 77fd20f..537a6fa 100644 --- a/Programs/Circular Integer LinkedList/circularLinkedList.java +++ b/Programs/LinkedList/Circular Integer LinkedList/circularLinkedList.java @@ -1,112 +1,112 @@ -public class circularLinkedList { - Node head; - int size; - - public circularLinkedList() { - head=new Node(); - head.next=head; - size=0; - head.data=-1; - } - /** - * adds a new element end of the linkedlist - * @param num - */ - public void add(int num) { - - Node newNode=new Node(num); - Node currNode=head; - - if(size==0) - { - head.data=num; - } - else { - while(!currNode.next.equals(head)) - { - currNode=currNode.next; - - } - newNode.next=currNode.next; - currNode.next=newNode; - } - size++; - - } - - /** - * deletes index - * index 0 is equal to head of linkedlist - * @param index - */ - public void delete(int index) { - - Node currNode=head; - Node currNodePrev=head; - - if(size==0) - System.out.println("Linkedlist is empty"); - if(index>=size) - System.out.println("index of deletion is larger then size of linkedlist"); - else{ - if(index==0){ - while(!currNode.next.equals(head)){ - currNode=currNode.next; - } - currNode.next=head.next; - head=head.next; - }else{ - for(int i=0;i=size) + System.out.println("index of deletion is larger then size of linkedlist"); + else{ + if(index==0){ + while(!currNode.next.equals(head)){ + currNode=currNode.next; + } + currNode.next=head.next; + head=head.next; + }else{ + for(int i=0;i "); + temp = temp.next; + } + System.out.println("END"); + } + + // insertLast method to insert element at the end of the list + + public void insertLast(int val) { + if(Tail == null) { + insertFirst(val); + return; + } + Node node = new Node(val); + Tail.next = node; + Tail = node; + size++; + } + + // method to insert the given value at a given index + + public void insertAtIndex(int val, int index) { + if(index == 0) { + insertFirst(val); + return; + } + if(index == size) { + insertLast(val); + return; + } + Node temp = Head; + for(int i = 1; i < index && index < size; i++) { + temp = temp.next; + } + Node node = new Node(val, temp.next); + temp.next = node; + size++; + + } +} diff --git a/README.md b/README.md index cb3d676..1416b51 100644 --- a/README.md +++ b/README.md @@ -126,6 +126,7 @@ It is very easy to contribute, you may follow these steps - 99.[RotateLinkedList](https://github.com/PrajaktaSathe/Java/blob/main/Programs/RotateLinkedList.java)-Program to demo rotating a linked list 100. [ReverseString](https://github.com/PrajaktaSathe/Java/blob/main/ReverseString.java) -Program to reverse a String using the java method substring. 101.[Overriding](https://github.com/PrajaktaSathe/Java/blob/main/Programs/Overriding.java)-Program to demo overriding in java +102. [CustomLinkedList](./Programs/LinkedList/CustomLinkedList.java) - Program to implement custom Linked List in java. # Contributors - ## A big thank you to all our contributors!!!