package java_5_12;
//简答的数组队列的插入(put)和读取(get)
class Queue {
char[] q;
int putloc, getloc;
Queue(int size) {
q = new char[size];
putloc = getloc = 0;
}
//存储元素put方法, putloc总是存储下一个元素的索引。
void put(char ch) {
if (putloc == q.length) {
System.out.println("-Queue is full! ");
return;
}
q[putloc++] = ch;
}
//检索元素get方法,getloc总是表示下一个被检索的位置。
char get() {
if (getloc == putloc) {
System.out.println("-Queue is empty! ");
}
return q[getloc++];
}
}
public class Queue_Demo {
public static void main(String[] args) {
final int SZ1 = 100;
final int SZ2 = 10;
Queue BigQ = new Queue(SZ1);
Queue SmallQ = new Queue(SZ2);
int i;
char ch;
System.out.println("Using bigQ to store the alphabet");
for (i = 0; i < 26; i++)
BigQ.put((char) ('A' + ' ' + i));
System.out.print("contents of bigQ: ");
for (i = 0; i < 26; i++) {
ch = BigQ.get();
if (ch != '\u0000')
System.out.print(ch);
}
System.out.println("\n");
System.out.println("Using smallQ to genernate errors.");
//让SmallQ,队列触发满!和空!,产生一些错误。
for (i = 0; i < SZ2 + 1; i++) {
SmallQ.put((char) ('z' - i));
System.out.print("store : " + (char) ('z' - i));// 插入满
System.out.println();
}
System.out.println();
System.out.println("contents of smallQ: ");
for (i = 0; i < SZ2 + 1; i++) {
ch = SmallQ.get();// 获取空
if (ch != '\u0000')
System.out.print(ch);
}
}
}
简单的数组队列Queue
最新推荐文章于 2024-07-22 20:42:52 发布