diff --git a/Semester 2 (DSA)/assignment 7/LinkedList.java b/Semester 2 (DSA)/assignment 7/LinkedList.java deleted file mode 100644 index 87a0498..0000000 --- a/Semester 2 (DSA)/assignment 7/LinkedList.java +++ /dev/null @@ -1,75 +0,0 @@ -public class LinkedList -{ - Node head; - LinkedList() - { - head=null; - } - //Insertion - public void add(int data) - { - Node t=head; - if(head==null) - { - head = new Node(data); - } - else - { - while(t.next!=null) - { - t=t.next; - } - t.next= new Node(data); - } - } - //Deletion - public void del() - { - if(head==null) - System.out.println("Stack Underflow"); - else - head=head.next; - } - public void DelEnd() - { - int len=this.count(); - len=len-1; - Node n=head; - int c=0; - while(n.next!=null) - { - c++; - if(c==len) - break; - n=n.next; - } - n.next=null; - } - public int count() - { - int c=0; - Node n=head; - while(n.next!=null) - { - c++; - n=n.next; - } - c++; - return c; - } - public void display() - { - Node n=head; - if(n==null) - System.out.println("Queue is Empty"); - else - { - while(n.next!=null) - { - System.out.println(n); - n=n.next; - } - System.out.println(n); - } - } -} diff --git a/Semester 2 (DSA)/assignment 7/Node.java b/Semester 2 (DSA)/assignment 7/Node.java index 0d16a5b..dc8dacc 100644 --- a/Semester 2 (DSA)/assignment 7/Node.java +++ b/Semester 2 (DSA)/assignment 7/Node.java @@ -1,23 +1,10 @@ public class Node { - protected Node next; - protected int data; - - Node() + int info; + Node next; + Node(int info) { - next=null; - } - Node(int data) - { - this.data=data; - next=null; - } - int getdata() - { - return data; - } - public String toString() - { - return data+""; + this.info=info; + this.next=null; } } diff --git a/Semester 2 (DSA)/assignment 7/part1.java b/Semester 2 (DSA)/assignment 7/part1.java index f04f1d8..a458339 100644 --- a/Semester 2 (DSA)/assignment 7/part1.java +++ b/Semester 2 (DSA)/assignment 7/part1.java @@ -1,10 +1,13 @@ import java.util.*; -public class part1 +public class part1 { - public static void main(String args[]) + public static final int MAX=5; + public static int front=-1; + public static int rear=-1; + public static void main(String[] args) { - queue q = new queue(5); - Scanner in = new Scanner(System.in); + Scanner sc=new Scanner(System.in); + int queue[]=new int[MAX]; while(true) { System.out.println("***MENU***"); @@ -13,25 +16,72 @@ public static void main(String args[]) System.out.println("2: Delete"); System.out.println("3: Display"); System.out.println("Enter your choice"); - int choice=in.nextInt(); + int choice=sc.nextInt(); switch(choice) { case 0: + System.out.println("Exitting Program "); System.exit(0); + break; case 1: - System.out.print("Enter the value to insert :"); - int i=in.nextInt(); - q.insert(i); - break; + insert(queue); + break; case 2: - q.delete(); - break; + delete(queue); + break; case 3: - q.display(); - break; + display(queue); + break; default: System.out.println("Invalid choice"); } } } -} + public static void insert(int Q[]) + { + if(isFull()) + { + System.out.println("Error : Stack OverFlow"); + } + else + { + Scanner in = new Scanner(System.in); + System.out.print("Enter value to be inserted : "); + Q[++rear]=in.nextInt(); + } + } + public static void delete(int Q[]) + { + if(isEmpty()) + { + System.out.println("Error : Stack UnderFlow"); + } + else + { + front++; + } + } + public static void display(int Q[]) + { + if(isEmpty()) + { + System.out.println("Error : Queue is Empty"); + } + else + { + System.out.println("Queue Contains"); + } + for(int i=front+1; i<=rear; i++) + { + System.out.println(Q[i]); + } + } + public static boolean isFull() + { + return rear==MAX-1; + } + public static boolean isEmpty() + { + return rear==front; + } +} \ No newline at end of file diff --git a/Semester 2 (DSA)/assignment 7/part2.java b/Semester 2 (DSA)/assignment 7/part2.java index 4e290bb..6840740 100644 --- a/Semester 2 (DSA)/assignment 7/part2.java +++ b/Semester 2 (DSA)/assignment 7/part2.java @@ -4,34 +4,98 @@ public class part2 public static void main(String args[]) { Scanner in = new Scanner(System.in); - LinkedList q = new LinkedList(); + Node front=null, rear=null; + while(true) { - System.out.println("***MENU***"); - System.out.println("0: Exit"); - System.out.println("1: Insert"); - System.out.println("2: Delete"); - System.out.println("3: Display"); - System.out.println("Enter your choice"); - int choice=in.nextInt(); - switch(choice) + System.out.println("****MENU****"); + System.out.println("0 : Exit"); + System.out.println("1 : Insert"); + System.out.println("2 : Delete"); + System.out.println("3 : Display"); + System.out.println("Enter your Choice "); + int sw=in.nextInt(); + switch(sw) { case 0: + System.out.println("Exitting Program "); System.exit(0); + break; case 1: - System.out.print("Enter the value to insert :"); - int i=in.nextInt(); - q.add(i); - break; + front=insert(rear, front); + rear=getRear(front); + break; case 2: - q.del(); - break; + front=delete(rear, front); + break; case 3: - q.display(); - break; + display(rear, front); + break; default: - System.out.println("Invalid choice"); + System.out.println("Wrong Option Please Try Again"); } } } -} + public static Node insert(Node rear, Node front) + { + Scanner in = new Scanner(System.in); + System.out.print("Enter the value to insert in Queue : "); + Node n = new Node(in.nextInt()); + if(rear==null || front==null) + { + front = n; + rear = n; + } + else + { + rear.next=n; + rear=n; + } + return front; + } + public static Node delete(Node rear, Node front) + { + if(front==null) + { + System.out.println("Error : Stack UnderFlow"); + } + else + { + front=front.next; + } + return front; + } + public static void display(Node rear, Node front) + { + Node n = front; + if(n==null) + { + System.out.println("Queue is Empty"); + } + else + { + System.out.println("Elements of Queue are : "); + while(n!=null) + { + System.out.println(n.info); + n=n.next; + } + } + } + public static Node getRear(Node front) + { + if(front==null) + { + return null; + } + else + { + Node n = front; + while(n.next!=null) + { + n=n.next; + } + return n; + } + } +} \ No newline at end of file diff --git a/Semester 2 (DSA)/assignment 7/queue.java b/Semester 2 (DSA)/assignment 7/queue.java deleted file mode 100644 index e6d4014..0000000 --- a/Semester 2 (DSA)/assignment 7/queue.java +++ /dev/null @@ -1,44 +0,0 @@ -public class queue -{ - int Q[]; - int rear, front; - - queue(int n) - { - Q = new int[n]; - rear=0; - front=0; - } - public void insert(int i) - { - if(front==Q.length) - System.out.println("Stack Overflow"); - else - { - Q[front]=i; - front++; - } - } - public void delete() - { - if(front==rear) - System.out.println("Stack Underflow"); - else - rear++; - } - public void display() - { - for(int i=rear; i