Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
import java.util.*;

public class DoubelLL
{
static class Node{
int data;
Node next;
Node prev;

Node(int data){
this.data=data;
next=prev=null;
}
}
static Node head;
static Node tail;
public void addFirst(int data){
Node newNode=new Node(data);
if(head==null){
head=tail=newNode;
return;
}
newNode.next=head;
head.prev=newNode;
head=newNode;
}
static void removeLast(){
if(head==null){
System.out.println("Empty...");
return;
}
else if(head.next==null){
head=tail=null;
return;
}
Node curr=head;
while(curr.next!=tail){
curr=curr.next;
}
curr.next.prev=null;
curr.next=null;
tail=curr;
}
static void removeFirst(){
if(head==null){
System.out.println("Empty...");
return;
}
else if(head.next==null){
head=tail=null;
return;
}
head=head.next;
head.prev=null;


}

static void show(){
Node curr=head;
while(curr!=null){
System.out.print(curr.data+" ");
curr=curr.next;
}
System.out.println();
}
static void printInReverse(){
Node curr=tail;
while(curr!=null){
System.out.print(curr.data+" ");
curr=curr.prev;
}
}
public static void main(String[] args) {
DoubelLL dl=new DoubelLL();
dl.addFirst(5);
dl.addFirst(4);
dl.addFirst(3);
dl.addFirst(2);
dl.addFirst(1);
show();
removeLast();
show();
removeFirst();
show();
System.out.println("Now print in Reverse Order...");
printInReverse();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
import java.util.*;
public class LinkedListt{
static class Node{
int data;
Node next;
Node(int data){
this.data=data;
next=null;
}
}
public static Node head;
public static Node tail;
public void addFirst(int data){
Node newNode=new Node(data);
if(head==null){
head=tail=newNode;
return;
}

newNode.next=head;
head=newNode;
}
public void addlast(int data){
Node newNode=new Node(data);
if(head==null){
head=tail=newNode;
return;
}
// while(tail.next!=null){
// tail=tail.next;
// }
tail.next=newNode;
tail=newNode;
}
public void addMiddle(int data,int index){
Node newNode=new Node(data);
int i=1;
Node curr=head;
while(i<index){
curr=curr.next;
i++;
}
newNode.next=curr.next;
curr.next=newNode;
}
public void removeFirst(){
if(head==null){
System.out.println("LL is empty()");
return;
}
else if (head.next==null){
head=tail=null;
return;
}
System.out.println("deleted data:"+head.data);
head=head.next;
return;
}
public void removeLast(){
if(head==null){
System.out.println("LL is empty()");
return;
}
else if(head.next==null){
head=tail=null;
return;
}
Node curr=head;
while(curr.next!=tail){
curr=curr.next;
}
System.out.println("deleted data:"+tail.data);
curr.next=null;
tail=curr;
}
public void show(){
Node curr=head;
while(curr!=null){
System.out.print(curr.data+" ");
curr=curr.next;
}
System.out.println();
}

public int size(){
Node curr=head;
int count=0;
while(curr!=null){
count++;
curr=curr.next;
}
return count;
}

public static void main(String args[]){
LinkedListt ll=new LinkedListt();
ll.addFirst(1);
ll.addFirst(2);
ll.addFirst(3);
ll.addlast(4);
ll.addlast(5);
ll.addlast(6);
ll.show();
int siz=ll.size();
System.out.println("Size of LinkedList:"+siz);
// int index=siz%2==0?siz/2 : siz/2 +1;
ll.addMiddle(55,siz/2);
ll.show();
System.out.println("Remove the first data");
ll.removeFirst();
ll.show();
ll.removeLast();
ll.show();

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
import java.util.*;

public class LinekedList
{
static class Node{
int data;
Node next;

Node(int data){
this.data=data;
next=null;
}
}
static Node head;
static Node tail;
static void addLast(int data){
Node newNode=new Node(data);
if(head==null){
head=tail=newNode;
return;
}
tail.next=newNode;
tail=newNode;
}
static void show(Node head){
Node curr=head;
while(curr!=null){
System.out.print(curr.data+" ");
curr=curr.next;
}
System.out.println();
}
static Node getMid(Node head){
Node slow=head;
Node fast=head.next;

while(fast!=null && fast.next!=null){
slow=slow.next;
fast=fast.next.next;
}
return slow;
}
static Node reverse(Node mid){

Node curr=mid;
Node prev=null;
while(curr!=null){
Node temp=curr.next;
curr.next=prev;
prev=curr;
curr=temp;
}
return prev;
}
public static void main(String[] args) {
LinekedList ll=new LinekedList();
ll.addLast(1);
ll.addLast(2);
ll.addLast(3);
ll.addLast(4);
ll.addLast(5);

Node mid=getMid(head);
Node head2=reverse(mid);

Node head1=head;
Node dummy=new Node(-1);
Node temp=dummy;
while(head1!=mid && head2!=null){
temp.next=head1;
temp=temp.next;
head1=head1.next;
temp.next=head2;
head2=head2.next;
temp=temp.next;
}
show(dummy.next);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import java.util.*;
public class LinkedList{
static class Node{
int data;
Node next;
Node(int data){
this.data=data;
next=null;
}
}
static Node head;
static Node tail;
void addFirst(int data){
Node newNode=new Node(data);
if(head==null){
head=tail=newNode;
return;
}
newNode.next=head;
head=newNode;
}
void addLast(int data){
Node newNode=new Node(data);
if(head==null){
head=tail=newNode;
return;
}
tail.next=newNode;
tail=newNode;
}
int search(Node curr,int val,int i){
if(curr==null){
return -1;
}
if(curr.data==val){
return i+1;
}
return search(curr.next,val,i+1);
}
public static void main(String args[]){
LinkedList ll=new LinkedList();
ll.addFirst(4);
ll.addFirst(3);
ll.addLast(2);

System.out.println(ll.search(head,3,0));

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import java.util.*;

public class LinkedList
{
static class Node{
int data;
Node next;
Node(int data){
this.data=data;
next=null;
}
}
static Node head;
static Node tail;
void add(int data){
Node newNode=new Node(data);
if(head==null){
head=tail=newNode;
return;
}
newNode.next=head;
head=newNode;
}
void show(){
Node curr=head;
while(curr!=null){
System.out.print(curr.data+" ");
curr=curr.next;
}
System.out.println();
}
void segregate(){
Node odd=head;
Node even=head.next;
odd.next=even.next;
odd=odd.next;
System.out.println(odd.data);
}
public static void main(String[] args) {
LinkedList ll=new LinkedList();
ll.add(5);
ll.add(4);
ll.add(3);
ll.add(2);
ll.add(1);
ll.show();
ll.segregate();
}
}
Loading
Loading