DS-java Implementation
DS-java Implementation
class Node
int no;
Node next;
Node(int n)
no=n;
next=null;
Node head,temp;
newnode.next=head;
head=newnode;
if(head==null)
head=newnode;
else{
newnode.next=head;
head=newnode;
}
public void insertatend(int n)
temp=head;
while(temp.next!=null)
temp=temp.next;
temp.next=newnode;
temp=head;
while(temp.no!=after)
temp=temp.next;
newnode.next=temp.next;
temp.next=newnode;
temp=head;
while(temp!=null)
System.out.print(temp.no+" ");
temp=temp.next;
System.out.println("\n");
}
public static void main(String args[])
obj.insertnode(5);
obj.insertnode(10);
obj.insertnode(15);
obj.display();
obj.insertatfront(20);
obj.insertatfront(30);
obj.display();
obj.insertatend(35);
obj.display();
obj.insertatmiddle(25, 20);
obj.display();
SLL:DELETION
class Node
int no;
Node next;
Node(int n)
no=n;
next=null;
Node head,temp;
public void insertnode(int n)
newnode.next=head;
head=newnode;
Node curr;
curr=head;
head=head.next;
curr.next=null;
temp=head;
Node p=head;
while(temp.next!=null)
p=temp;
temp=temp.next;
p.next=null;
temp=head;
Node p=head;
while(temp.no!=after)
p=temp;
temp=temp.next;
p.next=temp.next;
temp=head;
while(temp!=null)
System.out.print(temp.no+" ");
temp=temp.next;
System.out.println("\n");
obj.insertnode(5);
obj.insertnode(10);
obj.insertnode(15);
obj.insertnode(20);
obj.display();
obj.deleteatfront();
obj.display();
obj.deleteatend();
obj.display();
obj.deleteatmiddle(15);
obj.display();
}
}
CLL:INSERTION
class cNode
int no;
cNode next;
cNode(int n)
no=n;
next=null;
cNode head,temp;
temp=head;
if(head==null)
head=newnode;
head.next=head;
else{
while(temp.next!=head)
temp=temp.next;
temp.next=newnode;
temp=newnode;
temp.next=head;
if(head==null)
head=newnode;
head.next=head;
else
temp=head;
newnode.next=head;
while(temp.next!=head)
temp=temp.next;
temp.next=newnode;
head=newnode;
temp=head;
while(temp.next!=head)
temp=temp.next;
}
newnode.next=head;
temp.next=newnode;
temp=head;
while(temp.no!=after)
temp=temp.next;
newnode.next=temp.next;
temp.next=newnode;
temp=head;
while(temp.next!=head)
System.out.print(temp.no+" ");
temp=temp.next;
System.out.println(temp.no);
System.out.println("\n");
obj.insertnode(5);
obj.insertnode(10);
obj.insertnode(15);
obj.insertnode(20);
obj.display();
obj.insertatfront(1);
obj.display();
obj.insertatend(25);
obj.display();
obj.insertatmiddle(17, 15);
obj.display();
CLL:DELETION:
class cNode
int no;
cNode next;
cNode(int n)
no=n;
next=null;
cNode head,temp;
temp=head;
head=newnode;
head.next=head;
else{
while(temp.next!=head)
temp=temp.next;
temp.next=newnode;
temp=newnode;
temp.next=head;
temp=head;
cNode curr;
while(temp.next!=head)
temp=temp.next;
curr=head;
head=head.next;
temp.next=head;
curr.next=null;
temp=head;
cNode pnode=null;
while(temp.next!=head)
pnode=temp;
temp=temp.next;
pnode.next=head;
cNode pnode=null;
temp=head;
while(temp.no!=n)
pnode=temp;
temp=temp.next;
pnode.next=temp.next;
temp=head;
while(temp.next!=head)
System.out.print(temp.no+" ");
temp=temp.next;
System.out.println(temp.no);
System.out.println("\n");
}
public static void main(String args[])
obj.insertnode(5);
obj.insertnode(10);
obj.insertnode(15);
obj.insertnode(20);
obj.deleteatmiddle(10);
obj.display();
obj.display();
obj.deleteatfront();
obj.display();
obj.deleteatend();
obj.display();
DLL:INSERTION
class dNode
int no;
dNode next;
dNode prev;
dNode(int n)
no=n;
next=null;
prev=null;
}
dNode temp,head=null;
if(head==null)
newnode.next=head;
newnode.prev=null;
head=newnode;
else
temp=head;
while(temp.next!=null)
temp=temp.next;
newnode.prev=temp;
temp.next=newnode;
newnode.next=null;
if(head==null)
{
newnode.next=head;
newnode.prev=null;
head=newnode;
else
newnode.next=head;
head.prev=newnode;
head=newnode;
temp=head;
dNode pnode;
while(temp.no!=after)
temp=temp.next;
pnode=temp.next;
newnode.next=pnode;
pnode.prev=newnode;
temp.next=newnode;
newnode.prev=temp;
{
dNode newnode =new dNode(n);
temp=head;
while(temp.next!=null)
temp=temp.next;
temp.next=newnode;
newnode.prev=temp;
newnode.next=null;
temp=head;
while(temp!=null)
System.out.print(temp.no+"-->");
temp=temp.next;
System.out.println("\n");
obj.insertnode(10);
obj.insertnode(20);
obj.insertnode(30);
obj.insertnode(40);
obj.display();
obj.insertatfront(5);
obj.display();
obj.insertatmiddle(25, 20);
obj.display();
obj.insertatend(45);
obj.display();
DLL:DELETION
class dNode
int no;
dNode next;
dNode prev;
dNode(int n)
no=n;
next=null;
prev=null;
dNode temp,head=null;
if(head==null)
newnode.next=head;
newnode.prev=null;
head=newnode;
else
temp=head;
while(temp.next!=null)
temp=temp.next;
newnode.prev=temp;
temp.next=newnode;
newnode.next=null;
head=head.next;
head.prev=null;
temp=head;
dNode pnode;
dNode nnode;
while(temp.no!=after)
temp=temp.next;
pnode=temp.next;
nnode=pnode.next;
temp.next=nnode;
nnode.prev=temp;
temp=head;
dNode pnode=null;
while(temp.next!=null)
pnode=temp;
temp=temp.next;
pnode.next=null;
temp=head;
while(temp!=null)
System.out.print(temp.no+"-->");
temp=temp.next;
System.out.println("\n");
obj.insertnode(10);
obj.insertnode(20);
obj.insertnode(30);
obj.insertnode(40);
obj.insertnode(50);
obj.display();
obj.deleteatfront();
obj.display();
obj.deleteatmiddle(30);
obj.display();
obj.deleteatend();
obj.display();
QUEUE IMPLEMENTATION:
import java.util.*;
class Node{
int data;
Node next;
Node(int data)
this.data=data;
next=null;
class A
{
Node newnode=new Node(data);
if(rear==null)
rear=front=newnode;
else {
rear.next=newnode;
rear=newnode;
Node temp=front;
while(temp!=null)
System.out.print(temp.data+" ");
temp=temp.next;
System.out.println();
if(front==null)
System.out.println("queue is empty");
else
front=front.next;
if(front==null)
front=rear=null;
}
insert(10);
insert(20);
insert(30);
display();
delete();
display();
import java.util.*;
class Node{
int data;
Node next;
Node(int data)
this.data=data;
next=null;
class A
{
Node newnode=new Node(data);
if(rear==null)
rear=front=newnode;
rear.next=front;
else {
rear.next=newnode;
rear=newnode;
rear.next=front;
Node temp=front;
while(temp.next!=front)
System.out.print(temp.data+" ");
temp=temp.next;
System.out.print(temp.data);
System.out.println();
if(front==null)
System.out.println("queue is empty");
else if(front==rear)
{
front=rear=null;
else{
front=front.next;
rear.next=front;
insert(10);
insert(20);
insert(30);
display();
insert(40);
delete();
display();
import java.util.*;
class A
if( front==-1)
{
rear=0;
front=0;
a[rear]=d;
else if((rear+1)%n==front)
System.out.println("Queue is full");
else
rear=(rear+1)%n;
a[rear]=d;
return a;
int i=front;
System.out.println("Queue is empty");
else
while(i!=rear)
System.out.print(a[i]+" ");
i=(i+1)%n;
System.out.print(a[rear]);
}
}
if(front==rear)
front=rear=-1;
System.out.println("Queue is empty");
else
front=(front+1)%n;
int n=sc.nextInt();
a=insert(10,a,n);
a=insert(12,a,n);
a=insert(20,a,n);
a=insert(18,a,n);
display(a,n);
System.out.println();
delete(a,n);
a=insert(30,a,n);
display(a,n);
}
TREE INPUT:
import java.util.*;
class Node{
int data;
Node left,right;
Node(int n)
data=n;
left=right=null;
class Main{
if(s.length()==0 || s.charAt(0)=='N')
return null;
n.offer(root);
int i=1;
Node c=n.poll();
String cv=a[i];
if(!cv.equals("N"))
{
c.left=new Node(Integer.parseInt(cv));
n.offer(c.left);
i++;
if(i>=a.length)
break;
cv=a[i];
if(!cv.equals("N"))
c.right=new Node(Integer.parseInt(cv));
n.offer(c.right);
i++;
return root;
if (root == null)
return;
printInorder(root.left);
printInorder(root.right);
int t=sc.nextInt();
sc.nextLine();
for(int i=0;i<t;i++)
String s=sc.nextLine();
root=create(s);
printInorder(root);
SORTING ALGORITHMS:
BUBBLE SORT:
import java.util.*;
class Main{
int n=sc.nextInt();
for(int i=0;i<n;i++)
a[i]=sc.nextInt();
for(int i=0;i<n-1;i++)
for(int j=0;j<n-1-i;j++)
if(a[j]>a[j+1])
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
for(int i=0;i<n;i++)
{
System.out.print(a[i]+" ");
MERGE SORT:
import java.util.*;
class Main{
int i, j, k;
i = 0;
j = 0;
k = beg;
a[k] = LeftArray[i];
i++;
else
{
a[k] = RightArray[j];
j++;
k++;
while (i<n1)
a[k] = LeftArray[i];
i++;
k++;
while (j<n2)
a[k] = RightArray[j];
j++;
k++;
if(beg<end)
int mid=(beg+end)/2;
merge(a,beg,mid);
merge(a,mid+1,end);
mergesort(a,beg,mid,end);
int n=sc.nextInt();
for(int i=0;i<n;i++)
a[i]=sc.nextInt();
for(int i=0;i<n;i++)
System.out.print(a[i]+" ");
System.out.println();
merge(a,0,n-1);
for(int i=0;i<n;i++)
System.out.print(a[i]+" ");