From 02a347610b9d3c70e8b2bc74461d7bc80c54e778 Mon Sep 17 00:00:00 2001 From: RITESH GIRI <92908246+GIRIRITESH@users.noreply.github.com> Date: Thu, 20 Oct 2022 22:33:15 +0530 Subject: [PATCH] Create Recursion 8 --- Recursion 8 | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 Recursion 8 diff --git a/Recursion 8 b/Recursion 8 new file mode 100644 index 0000000..c04f73d --- /dev/null +++ b/Recursion 8 @@ -0,0 +1,55 @@ +public class PriorityQueue { + private final int MAX; + private int[] intArray; + private int itemCount; + + public PriorityQueue(int size){ + MAX = size; + intArray = new int[MAX]; + itemCount = 0; + } + + public void insert(int data){ + int i =0; + + if(!isFull()){ + // if queue is empty, insert the data + if(itemCount == 0){ + intArray[itemCount++] = data; + }else{ + // start from the right end of the queue + for(i = itemCount - 1; i >= 0; i-- ){ + // if data is larger, shift existing item to right end + if(data > intArray[i]){ + intArray[i+1] = intArray[i]; + }else{ + break; + } + } + // insert the data + intArray[i+1] = data; + itemCount++; + } + } + } + + public int remove(){ + return intArray[--itemCount]; + } + + public int peek(){ + return intArray[itemCount - 1]; + } + + public boolean isEmpty(){ + return itemCount == 0; + } + + public boolean isFull(){ + return itemCount == MAX; + } + + public int size(){ + return itemCount; + } +}