Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit ceba214

Browse files
Add implementations for Circular Queue and Queue using Two Stacks
1 parent 0f5d221 commit ceba214

File tree

3 files changed

+199
-0
lines changed

3 files changed

+199
-0
lines changed

‎Queue/CircularQueue.java

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
2+
3+
public class CircularQueue {
4+
public static void main(String[] args) {
5+
queue myQueue = new queue(6);
6+
7+
myQueue.addInQueue(1);
8+
myQueue.addInQueue(2);
9+
myQueue.addInQueue(3);
10+
myQueue.addInQueue(4);
11+
12+
//print the elements in the queue
13+
System.out.println("Elements in the queue:");
14+
if (!myQueue.isEmpty()) {
15+
int i = myQueue.front;
16+
while (true) {
17+
System.out.print(myQueue.arr[i] + " ");
18+
if (i == myQueue.rear) break;
19+
i = (i + 1) % myQueue.size;
20+
}
21+
}
22+
System.out.println();
23+
24+
}
25+
26+
static class queue {
27+
int arr[];
28+
int front;
29+
int rear;
30+
int size;
31+
32+
// constructor
33+
queue(int size) {
34+
this.size = size;
35+
this.front = -1;
36+
this.rear = -1;
37+
this.arr = new int[size];
38+
}
39+
40+
// add element
41+
public void addInQueue(int data){
42+
if(isFull()){
43+
System.out.println("Queue is Full");
44+
return;
45+
}
46+
if(front == -1) {
47+
// First element
48+
front = 0;
49+
rear = 0;
50+
} else {
51+
rear = (rear+1)%size;
52+
}
53+
arr[rear] = data;
54+
}
55+
//delete element
56+
public void delete(){
57+
if(isEmpty()){
58+
System.out.println("Queue is Empty");
59+
return;
60+
}
61+
if(front == rear){
62+
// Only one element was present
63+
front = -1;
64+
rear = -1;
65+
}else{
66+
front = (front+1) % size;
67+
}
68+
}
69+
70+
71+
// isEmpty
72+
public boolean isEmpty(){
73+
return (front == -1 && rear == -1);
74+
}
75+
76+
//isfull
77+
public boolean isFull(){
78+
if(((rear+1) % size) == front){
79+
return true;
80+
}
81+
return false;
82+
}
83+
}
84+
}

‎Queue/QueueUsingTwoStack.java

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
2+
import java.util.Stack;
3+
4+
public class QueueUsingTwoStack {
5+
public static void main(String[] args) {
6+
myQueue q = new myQueue();
7+
8+
q.enqueue(1);
9+
q.enqueue(2);
10+
q.enqueue(3);
11+
q.enqueue(4);
12+
13+
System.out.println( "delete: " + q.delete());
14+
q.enqueue(5);
15+
16+
17+
18+
}
19+
20+
public static class myQueue {
21+
Stack<Integer> s1 = new Stack<>();
22+
Stack<Integer> s2 = new Stack<>();
23+
24+
// add first
25+
void enqueue(int data) {
26+
s1.push(data);
27+
System.out.println(data + " Added Succesfully");
28+
}
29+
30+
// remove
31+
public int delete() {
32+
if (s2.isEmpty()) {
33+
while (!s1.isEmpty()) {
34+
s2.push(s1.pop());
35+
}
36+
}
37+
return s2.pop();
38+
}
39+
40+
}
41+
}

‎Queue/queueExample.java

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
2+
3+
public class queueExample {
4+
public static void main(String[] args) {
5+
queue myQueue = new queue(5);
6+
myQueue.enqueue(1);
7+
myQueue.enqueue(2);
8+
myQueue.enqueue(3);
9+
myQueue.enqueue(4);
10+
myQueue.enqueue(5);
11+
// myQueue.enqueue(6);
12+
13+
myQueue.dequeue();
14+
15+
boolean isemptycheck = myQueue.isEmpty();
16+
if(isemptycheck){
17+
System.out.println("Queue is Empty..");
18+
}
19+
20+
System.out.println("Elements in the queue:");
21+
for (int i = myQueue.front; i <= myQueue.rear; i++)
22+
System.out.print(myQueue.arr[i] + " ");
23+
System.out.println();
24+
25+
}
26+
27+
static class queue {
28+
int arr[];
29+
int front;
30+
int rear;
31+
int size;
32+
33+
// contructor
34+
queue(int size) {
35+
this.size = size;
36+
this.front = 0;
37+
this.rear = -1;
38+
this.arr = new int[size];
39+
}
40+
41+
// enqueue operation
42+
public void enqueue(int data) {
43+
if (rear == size - 1) {
44+
System.out.println("Queue is full , you cannot add more elements," + data + " not insert");
45+
46+
} else {
47+
rear++;
48+
arr[rear] = data;
49+
50+
}
51+
}
52+
53+
// dequeue operation
54+
public void dequeue() {
55+
if (front > rear) {
56+
System.out.println("Queue is Empty");
57+
} else {
58+
int del = arr[front];
59+
front++;
60+
System.out.println("Deleted element is: " + del);
61+
}
62+
}
63+
64+
// is empty
65+
66+
public boolean isEmpty() {
67+
if (rear == -1){
68+
69+
return true;
70+
}
71+
return false;
72+
}
73+
}
74+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /