diff --git a/StaticQueueinjava.class b/StaticQueueinjava.class new file mode 100644 index 0000000..93fb749 Binary files /dev/null and b/StaticQueueinjava.class differ diff --git a/StaticQueueinjava.java b/StaticQueueinjava.java new file mode 100644 index 0000000..a517def --- /dev/null +++ b/StaticQueueinjava.java @@ -0,0 +1,121 @@ +class Queue { + private static int front, rear, capacity; + private static int queue[]; + + Queue(int c) + { + front = rear = 0; + capacity = c; + queue = new int[capacity]; + } + + // function to insert an element + // at the rear of the queue + static void queueEnqueue(int data) + { + // check queue is full or not + if (capacity == rear) { + System.out.printf("\nQueue is full\n"); + return; + } + + // insert element at the rear + else { + queue[rear] = data; + rear++; + } + return; + } + + // function to delete an element + // from the front of the queue + static void queueDequeue() + { + // if queue is empty + if (front == rear) { + System.out.printf("\nQueue is empty\n"); + return; + } + + // shift all the elements from index 2 till rear + // to the right by one + else { + for (int i = 0; i < rear - 1; i++) { + queue[i] = queue[i + 1]; + } + + // store 0 at rear indicating there's no element + if (rear < capacity) + queue[rear] = 0; + + // decrement rear + rear--; + } + return; + } + + // print queue elements + static void queueDisplay() + { + int i; + if (front == rear) { + System.out.printf("\nQueue is Empty\n"); + return; + } + + // traverse front to rear and print elements + for (i = front; i < rear; i++) { + System.out.printf(" %d <-- ", queue[i]); + } + return; + } + + // print front of queue + static void queueFront() + { + if (front == rear) { + System.out.printf("\nQueue is Empty\n"); + return; + } + System.out.printf("\nFront Element is: %d", queue[front]); + return; + } +} + +public class StaticQueueinjava { + + // Driver code + public static void main(String[] args) + { + // Create a queue of capacity 4 + Queue q = new Queue(4); + + // print Queue elements + q.queueDisplay(); + + // inserting elements in the queue + q.queueEnqueue(20); + q.queueEnqueue(30); + q.queueEnqueue(40); + q.queueEnqueue(50); + + // print Queue elements + q.queueDisplay(); + + // insert element in the queue + q.queueEnqueue(60); + + // print Queue elements + q.queueDisplay(); + + q.queueDequeue(); + q.queueDequeue(); + System.out.printf("\n\nafter two node deletion\n\n"); + + // print Queue elements + q.queueDisplay(); + + // print front of the queue + q.queueFront(); + } +} \ No newline at end of file diff --git a/TowerOfHanoi.class b/TowerOfHanoi.class new file mode 100644 index 0000000..4a1523e Binary files /dev/null and b/TowerOfHanoi.class differ diff --git a/TowerOfHanoi.java b/TowerOfHanoi.java new file mode 100644 index 0000000..db2b114 --- /dev/null +++ b/TowerOfHanoi.java @@ -0,0 +1,20 @@ +public class TowerOfHanoi { + static int count=0; + static void move(int disk,char src , char dist, char spare){ + if(disk==1||disk==0) { + //System.out.println("move disk" + disk + " from " + src + " to " + dist); + count+=1; + } + else{ + move(disk-1,src,spare,dist); + //System.out.println("move disk"+disk+" from "+src+" to "+dist); + count+=1; + move(disk-1,spare,dist,src); + } + } + + public static void main(String[] args) { + move(100,'A','B','C'); + System.out.println("count"+count); + } +} \ No newline at end of file