Creating a queue with default size of 10 and size is full size is increasing with 50% of current size so new array will be created of size 15.
enqueue - adding element to queue.
dequeue - removing element from queue.
class MQ {
int size = 10;
int resize = size;
int counter = 0;
int[] firstArr = new int[size];
int[] tempArray = new int[resize];
void enqueue(int data) {
if (counter < size) {
firstArr[counter] = data;
} else {
resizeArray();
firstArr[counter] = data;
}
counter++;
}
private void resizeArray() {
int newSize = resize + (resize / 2);
resize = newSize;
size = newSize;
tempArray = new int[newSize];
for (int i = 0; i < firstArr.length; i++) {
tempArray[i] = firstArr[i];
}
firstArr = tempArray;
}
void printQ() {
if (counter > 0) {
for (int i = 0; i < counter; i++) {
System.out.print(firstArr[i] + " ");
}
System.out.println();
} else {
System.out.println("queue is empty");
}
}
void dequeue() {
if (counter > 0) {
for (int i = 0; i < counter; i++) {
if (i == 0) {
firstArr[i] = -1;
} else {
firstArr[i - 1] = firstArr[i];
}
}
counter--;
} else {
throw new IndexOutOfBoundsException("queue is empty ");
}
}
}
public class MyQueue {
public static void main(String[] args) {
MQ m = new MQ();
for (int i = 0; i < 16; i++) {
m.enqueue(i);
}
m.printQ();
m.enqueue(22);
m.enqueue(23);
m.enqueue(24);
m.dequeue();
m.dequeue();
m.printQ();
}
}
enqueue - adding element to queue.
dequeue - removing element from queue.
class MQ {
int size = 10;
int resize = size;
int counter = 0;
int[] firstArr = new int[size];
int[] tempArray = new int[resize];
void enqueue(int data) {
if (counter < size) {
firstArr[counter] = data;
} else {
resizeArray();
firstArr[counter] = data;
}
counter++;
}
private void resizeArray() {
int newSize = resize + (resize / 2);
resize = newSize;
size = newSize;
tempArray = new int[newSize];
for (int i = 0; i < firstArr.length; i++) {
tempArray[i] = firstArr[i];
}
firstArr = tempArray;
}
void printQ() {
if (counter > 0) {
for (int i = 0; i < counter; i++) {
System.out.print(firstArr[i] + " ");
}
System.out.println();
} else {
System.out.println("queue is empty");
}
}
void dequeue() {
if (counter > 0) {
for (int i = 0; i < counter; i++) {
if (i == 0) {
firstArr[i] = -1;
} else {
firstArr[i - 1] = firstArr[i];
}
}
counter--;
} else {
throw new IndexOutOfBoundsException("queue is empty ");
}
}
}
public class MyQueue {
public static void main(String[] args) {
MQ m = new MQ();
for (int i = 0; i < 16; i++) {
m.enqueue(i);
}
m.printQ();
m.enqueue(22);
m.enqueue(23);
m.enqueue(24);
m.dequeue();
m.dequeue();
m.printQ();
}
}