Java Code:
public class PriorityQ {
  // array in sorted order, from max at 0 to min at size-1
  private int maxSize;

  private long[] queArray;

  private int nItems;

  public PriorityQ(int s) {
    maxSize = s;
    queArray = new long[maxSize];
    nItems = 0;
  }

  public void insert(long item) {
    int i;

    if (nItems == 0)
      queArray[nItems++] = item; // insert at 0
    else 
    {
      for (i = nItems - 1; i >= 0; i--) // start at end,
      {
        if (item > queArray[i]) // if new item larger,
          queArray[i + 1] = queArray[i]; // shift upward
        else
          // if smaller,
          break; // done shifting
      }
      queArray[i + 1] = item; // insert it
      nItems++;
    } // end else (nItems > 0)
  }

  public long remove(){
    return queArray[--nItems];
  }

  public long peekMin(){
    return queArray[nItems - 1];
  }

  public boolean isEmpty(){
    return (nItems == 0);
  }

  public boolean isFull(){
    return (nItems == maxSize);
  }
  public static void main(String[] args) {
    PriorityQ thePQ = new PriorityQ(5);
    thePQ.insert(30);
    thePQ.insert(50);
    thePQ.insert(10);
    thePQ.insert(40);
    thePQ.insert(20);

    while (!thePQ.isEmpty()) {
      long item = thePQ.remove();
      System.out.print(item + " "); // 10, 20, 30, 40, 50
    }
    System.out.println("");
  }
}