Data Structures and Algorithm

This commit is contained in:
Kunwar
2021-09-07 22:04:01 +05:30
parent 9ad62e19c9
commit 66d088557c
2 changed files with 173 additions and 0 deletions

View File

@@ -0,0 +1,89 @@
package com.javadevjournal;
class MyQueue {
private int[] array;
private int front;
private int rear;
private int capacity;
private int size;
MyQueue(int size) {
array = new int[size];
capacity = size;
front = 0;
rear = -1;
this.size = 0;
}
/**
* dequeue from queue
*/
public void dequeue() {
if (isEmpty()) {
System.out.println("Can't dequeue, Queue is empty");
return;
}
System.out.println("Dequeue:" + array[front]);
front = (front + 1) % capacity;
size--;
}
/**
* enqueue an item to the queue
* @param item
*/
public void enqueue(int item) {
if (isFull()) {
System.out.println("Can't enqueue, Queue is full");
return;
}
System.out.println("Enqueuing:" + item);
rear = (rear + 1) % capacity;
array[rear] = item;
size++;
}
/**
* @return the size of the queue
*/
public int size() {
return size;
}
/**
* checks if queue is empty
* @return
*/
public Boolean isEmpty() {
return (size() == 0);
}
/**
* check if queue is full
* @return
*/
public Boolean isFull() {
return (size() == capacity);
}
/**
* main method
* @param args
*/
public static void main(String[] args) {
MyQueue queue = new MyQueue(3);
queue.enqueue(1);
queue.enqueue(2);
queue.enqueue(3);
queue.enqueue(4);
queue.dequeue();
queue.dequeue();
queue.dequeue();
queue.dequeue();
System.out.println("The queue size is " + queue.size());
queue.enqueue(5);
System.out.println("The queue size is " + queue.size());
queue.dequeue();
System.out.println("The queue size is " + queue.size());
}
}

View File

@@ -0,0 +1,84 @@
package com.javadevjournal;
class MyStack
{
private int array[];
private int top;
private int capacity;
MyStack(int size)
{
array = new int[size];
capacity = size;
top = -1;
}
/**
*
* @param item
*/
public void push(int item)
{
if (isFull())
{
System.out.println("Can't push the element, Stack is full");
return;
}
System.out.println("Pushing: " + item);
array[++top] = item;
}
/**
*
* @return
*/
public int pop()
{
if (isEmpty()) {
System.out.println("Can't pop the element, Stack is empty");
return -1;
}
System.out.println("Popping top element:"+array[top]);
return array[top--];
}
/**
* returns the size of stack
* @return
*/
public int size() {
return top + 1;
}
/**
* checks is stack is empty
* @return
*/
public Boolean isEmpty() {
return size() == 0;
}
/**
* checks if stack is full
* @return
*/
public Boolean isFull() {
return size() == capacity;
}
public static void main (String[] args) {
MyStack stack = new MyStack(3);
stack.push(1);
stack.push(2);
stack.push(3);
stack.push(4);
stack.pop();
stack.pop();
stack.pop();
stack.pop();
stack.push(5);
System.out.println("The stack size is " + stack.size());
stack.pop();
System.out.println("The stack size is " + stack.size());
}
}