2008年8月29日 星期五

用類別寫陣列堆疊

code
package javahomework;

import javax.swing.JOptionPane;

class Queue {
 int Q[], front, rear, newrear, MaxSize;
 String screen = "";

 public Queue() {
  MaxSize = 5;
  Q = new int[MaxSize];
  front = rear = -1;
 }

 public void add(int x) {
  if (isfull())
   JSM("Queue is full");
  else {
   Q[rear = newrear] = x;
   JSM("Add " + x);
  }
 }

 public void delete() {
  if (isempty())
   JSM("Queuq is empty");
  else
   front = (front + 1) % MaxSize;
  JSM("Delete " + Q[front]);
 }

 public boolean isempty() {
  if (rear == front)
   return true;
  else
   return false;
 }

 public boolean isfull() {
  newrear = (rear + 1) % MaxSize;
  if (front == newrear)
   return true;
  else
   return false;
 }

 private void JSM(String messeng) {
  JOptionPane.showMessageDialog(null, messeng);
 }

 public void dump() {
  if (isempty())
   JSM("Queuq is empty");
  else
   for (int i = 0; i < Q.length; i++)
    screen = screen + Q[i] + " ";
  JSM(screen);
 }
}

public class HW10 {
 public static void main(String args[]) {
  Queue q1 = new Queue();
  q1.add(1);
  q1.add(2);
  q1.delete();
  q1.add(3);
  q1.add(4);
  q1.delete();
  q1.add(5);
  q1.add(6);
  q1.add(7);
  q1.dump();
 }

}

沒有留言: