You are on page 1of 31

SLL:INSERTION:

class Node

int no;

Node next;

Node(int n)

no=n;

next=null;

public class Linklist1 {

Node head,temp;

public void insertnode(int n)

Node newnode=new Node(n);

newnode.next=head;

head=newnode;

public void insertatfront(int n)

Node newnode=new Node(n);

if(head==null)

head=newnode;

else{

newnode.next=head;

head=newnode;

}
public void insertatend(int n)

temp=head;

Node newnode=new Node(n);

while(temp.next!=null)

temp=temp.next;

temp.next=newnode;

public void insertatmiddle(int n,int after)

temp=head;

Node newnode=new Node(n);

while(temp.no!=after)

temp=temp.next;

newnode.next=temp.next;

temp.next=newnode;

public void display()

temp=head;

while(temp!=null)

System.out.print(temp.no+" ");

temp=temp.next;

System.out.println("\n");

}
public static void main(String args[])

Linklist1 obj=new Linklist1();

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;

public class Linklist1 {

Node head,temp;
public void insertnode(int n)

Node newnode=new Node(n);

newnode.next=head;

head=newnode;

public void deleteatfront()

Node curr;

curr=head;

head=head.next;

curr.next=null;

public void deleteatend()

temp=head;

Node p=head;

while(temp.next!=null)

p=temp;

temp=temp.next;

p.next=null;

public void deleteatmiddle(int after)

temp=head;

Node p=head;

while(temp.no!=after)

p=temp;
temp=temp.next;

p.next=temp.next;

public void display()

temp=head;

while(temp!=null)

System.out.print(temp.no+" ");

temp=temp.next;

System.out.println("\n");

public static void main(String args[])

Linklist1 obj=new Linklist1();

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;

public class Linklist1 {

cNode head,temp;

public void insertnode(int n)

temp=head;

cNode newnode=new cNode(n);

if(head==null)

head=newnode;

head.next=head;

else{

while(temp.next!=head)

temp=temp.next;

temp.next=newnode;
temp=newnode;

temp.next=head;

public void insertatfront(int n)

cNode newnode=new cNode(n);

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;

public void insertatend(int n)

cNode newnode=new cNode(n);

temp=head;

while(temp.next!=head)

temp=temp.next;
}

newnode.next=head;

temp.next=newnode;

public void insertatmiddle(int n,int after)

temp=head;

cNode newnode=new cNode(n);

while(temp.no!=after)

temp=temp.next;

newnode.next=temp.next;

temp.next=newnode;

public void display()

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[])

Linklist1 obj=new Linklist1();

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;

public class Linklist1 {

cNode head,temp;

public void insertnode(int n)

temp=head;

cNode newnode=new cNode(n);


if(head==null)

head=newnode;

head.next=head;

else{

while(temp.next!=head)

temp=temp.next;

temp.next=newnode;

temp=newnode;

temp.next=head;

public void deleteatfront()

temp=head;

cNode curr;

while(temp.next!=head)

temp=temp.next;

curr=head;

head=head.next;

temp.next=head;

curr.next=null;

public void deleteatend()

temp=head;
cNode pnode=null;

while(temp.next!=head)

pnode=temp;

temp=temp.next;

pnode.next=head;

public void deleteatmiddle(int n)

cNode pnode=null;

temp=head;

while(temp.no!=n)

pnode=temp;

temp=temp.next;

pnode.next=temp.next;

public void display()

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[])

Linklist1 obj=new Linklist1();

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;
}

public class Linklist1 {

dNode temp,head=null;

public void insertnode(int n)

dNode newnode=new dNode(n);

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;

public void insertatfront(int n)

dNode newnode=new dNode(n);

if(head==null)
{

newnode.next=head;

newnode.prev=null;

head=newnode;

else

newnode.next=head;

head.prev=newnode;

head=newnode;

public void insertatmiddle(int n,int after)

dNode newnode=new dNode(n);

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;

public void insertatend(int n)

{
dNode newnode =new dNode(n);

temp=head;

while(temp.next!=null)

temp=temp.next;

temp.next=newnode;

newnode.prev=temp;

newnode.next=null;

public void display()

temp=head;

while(temp!=null)

System.out.print(temp.no+"-->");

temp=temp.next;

System.out.println("\n");

public static void main(String args[])

Linklist1 obj=new Linklist1();

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;

public class Linklist1 {

dNode temp,head=null;

public void insertnode(int n)

dNode newnode=new dNode(n);

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;

public void deleteatfront()

head=head.next;

head.prev=null;

public void deleteatmiddle(int after)

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;

public void deleteatend()

temp=head;

dNode pnode=null;

while(temp.next!=null)

pnode=temp;

temp=temp.next;

pnode.next=null;

public void display()

temp=head;

while(temp!=null)

System.out.print(temp.no+"-->");

temp=temp.next;

System.out.println("\n");

public static void main(String args[])

Linklist1 obj=new Linklist1();

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

static Node rear,front=null;

static void insert(int data)

{
Node newnode=new Node(data);

if(rear==null)

rear=front=newnode;

else {

rear.next=newnode;

rear=newnode;

static void display()

Node temp=front;

while(temp!=null)

System.out.print(temp.data+" ");

temp=temp.next;

System.out.println();

static void delete()

if(front==null)

System.out.println("queue is empty");

else

front=front.next;

if(front==null)

front=rear=null;
}

public static void main(String args[])

insert(10);

insert(20);

insert(30);

display();

delete();

display();

CIRCULAR QUEUE USING LINKEDLIST:

import java.util.*;

class Node{

int data;

Node next;

Node(int data)

this.data=data;

next=null;

class A

static Node rear,front=null;

static void insert(int data)

{
Node newnode=new Node(data);

if(rear==null)

rear=front=newnode;

rear.next=front;

else {

rear.next=newnode;

rear=newnode;

rear.next=front;

static void display()

Node temp=front;

while(temp.next!=front)

System.out.print(temp.data+" ");

temp=temp.next;

System.out.print(temp.data);

System.out.println();

static void delete()

if(front==null)

System.out.println("queue is empty");

else if(front==rear)

{
front=rear=null;

else{

front=front.next;

rear.next=front;

public static void main(String args[])

insert(10);

insert(20);

insert(30);

display();

insert(40);

delete();

display();

CIRCULAR QUEUE USING ARRAY:

import java.util.*;

class A

static int rear,front=-1;

static int[] insert(int d,int a[],int n)

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;

static void display(int a[],int n)

int i=front;

if(front==-1 && rear==-1)

System.out.println("Queue is empty");

else

while(i!=rear)

System.out.print(a[i]+" ");

i=(i+1)%n;

System.out.print(a[rear]);

}
}

static void delete(int a[],int n)

if(front==rear)

front=rear=-1;

else if(front==-1 && rear==-1)

System.out.println("Queue is empty");

else

front=(front+1)%n;

public static void main(String args[])

Scanner sc=new Scanner(System.in);

int n=sc.nextInt();

int a[]=new int[n];

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{

static Node root;

public static Node create(String s)

if(s.length()==0 || s.charAt(0)=='N')

return null;

String a[]=s.split(" ");

Node root=new Node(Integer.parseInt(a[0]));

Queue<Node> n=new LinkedList<Node>();

n.offer(root);

int i=1;

while(n.size()>0 && i<a.length)

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;

public static void printInorder(Node root) {

if (root == null)

return;

printInorder(root.left);

System.out.print(root.data + " ");

printInorder(root.right);

public static void main(String args[])

Scanner sc=new Scanner(System.in);

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{

public static void main(String args[])

Scanner sc=new Scanner(System.in);

int n=sc.nextInt();

int a[]=new int[n];

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{

public static void mergesort(int a[],int beg,int mid,int end)

int i, j, k;

int n1 = mid - beg + 1;

int n2 = end - mid;

int LeftArray[] = new int[n1];

int RightArray[] = new int[n2];

for (i = 0; i < n1; i++)

LeftArray[i] = a[beg + i];

for (j = 0; j < n2; j++)

RightArray[j] = a[mid + 1 + j];

i = 0;

j = 0;

k = beg;

while (i < n1 && j < n2)

if(LeftArray[i] <= RightArray[j])

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++;

public static void merge(int a[],int beg,int end)

if(beg<end)

int mid=(beg+end)/2;

merge(a,beg,mid);

merge(a,mid+1,end);

mergesort(a,beg,mid,end);

public static void main(String args[])


{

Scanner sc=new Scanner(System.in);

int n=sc.nextInt();

int a[]=new int[n];

for(int i=0;i<n;i++)

a[i]=sc.nextInt();

System.out.println("Before sorting: ");

for(int i=0;i<n;i++)

System.out.print(a[i]+" ");

System.out.println();

merge(a,0,n-1);

System.out.println("After sorting: ");

for(int i=0;i<n;i++)

System.out.print(a[i]+" ");

SORTING ALGORITHMS  BUBBLE, MERGE, COUTING, HEAP,INSERTION,SELECTION,QUICK

LINKEDLIST SORTING  SLL,DLL,CLL

You might also like