import java.util.*;
public class PriorityQueue {
    private int q[],cap,f,r;
    public PriorityQueue(int cap)
    {
        this.cap=cap;
        q=new int[cap];
        f=r=-1;
    }
    public boolean isEmpty()
    {
        if(r==-1||f==r+1)
            return true;
        else return false;
    }
    public void insert(int ele)
    {
        if(r==cap-1)
        {
            System.out.println("Priority Queue Overflow");
            return;
        }
        if(r==-1)
        {
            r++;
            q[r]=ele;
            f++;
            return;

        }
        int i=0;
        for(i=f;i<=r;i++)
            if(ele<q[i])
                break;
        for(int k=r;k>=i;k--)
            q[k+1]=q[k];
        q[i]=ele;
        r++;
    }
    public int delete() throws Exception
    {
        if(isEmpty())
            throw new Exception("Priority Queue Underflow");
        int z=q[f];
        f++;
        return z;
    }
    public void display()
    {
        if(isEmpty())
        {
            System.out.println("Queue Empty");
            return;
        }
        for(int i=f;i<=r;i++)
            System.out.print(q[i]+" ");
        System.out.println();
    }

}
class PriorityQueueExp
{
    public static void main(String args[])
    {
        Scanner src=new Scanner(System.in);
        System.out.println("Enter the capacity of the Queue");
        int cap=src.nextInt();
        PriorityQueue obj=new PriorityQueue(cap);
        while(true)
        {
            int ele;
            System.out.println("Enter choice: \n1.Insert \n2.Delete \n3.Display \n4.Exit" );
            int ch=src.nextInt();
            if(ch==4)
                break;
            switch(ch)
            {
                case 1:System.out.println("Enter the element to insert");
                ele=src.nextInt();
                obj.insert(ele);
                obj.display();
                break;

                case 2:try
                {
                    System.out.println("Element deleted is: ");
                    obj.delete();
                }
                catch(Exception e)
                {
                    System.out.println(e);
                }
                obj.display();
                break;

                case 3:obj.display();
                break;

                default: System.out.println("INVALID CHOICE");



            }
        }
    }
}


Output:

Enter the capacity of the Queue
5
Enter choice: 
1.Insert 
2.Delete 
3.Display 
4.Exit
1
Enter the element to insert
45
45 
Enter choice: 
1.Insert 
2.Delete 
3.Display 
4.Exit
1
Enter the element to insert
67
45 67 
Enter choice: 
1.Insert 
2.Delete 
3.Display 
4.Exit
1
Enter the element to insert
23
23 45 67 
Enter choice: 
1.Insert 
2.Delete 
3.Display 
4.Exit
1
Enter the element to insert
30
23 30 45 67 
Enter choice: 
1.Insert 
2.Delete 
3.Display 
4.Exit
1
Enter the element to insert
89
23 30 45 67 89 
Enter choice: 
1.Insert 
2.Delete 
3.Display 
4.Exit
1
Enter the element to insert
45
Priority Queue Overflow
23 30 45 67 89 
Enter choice: 
1.Insert 
2.Delete 
3.Display 
4.Exit
2
Element deleted is: 
30 45 67 89 
Enter choice: 
1.Insert 
2.Delete 
3.Display 
4.Exit
2
Element deleted is: 
45 67 89 
Enter choice: 
1.Insert 
2.Delete 
3.Display 
4.Exit
4