Source of 7.47.java


  1: public void displayArray(int first, int last)
  2: {
  3:    boolean done = false;
  4:    StackInterface<Record> programStack = new LinkedStack<>();
  5:    programStack.push(new Record(first, last));
  6:    while (!done && !programStack.isEmpty())
  7:    {
  8:       Record topRecord = programStack.pop();
  9:       first = topRecord.first;
 10:       last = topRecord.last;
 11:       
 12:       if (first == last)
 13:          System.out.println(array[first] + " ");
 14:       else
 15:       {
 16:          int mid = first + (last - first) / 2;
 17:          // Note the order of the records pushed onto the stack
 18:          programStack.push(new Record(mid + 1, last));
 19:          programStack.push(new Record(first, mid));
 20:       } // end if
 21:    } // end while
 22: } // end displayArray
 23: // Version 4.0