一、循环队列
1.代码
含初始化、入队列、出队列、求队列长度、打印队列
//循环队列的基本操作
public class queue {
public int base[];
public int front;
public int rear;
public int data;
public int maxsize=6;
public queue() {
this(10);
}
public queue(int maxsize) {//队列初始化
base = new int[maxsize];
front = 0;
rear = 0;
}
public boolean queueEmpty() {//判断队列是否为空
if(front==rear) {
return true;
}else{
return false;
}
}
public boolean queueFull() {//判断队列是否满
if((rear+1)%maxsize==front) {
return true;
}else {
return false;
}
}
public void EnQueue(int data) {//循环入队列
if((rear+1)%maxsize==front) {//当队列满时
return;
}
base[rear]=data;
rear = (rear+1)%maxsize;//队尾指针加一
}
public void DeQueue() {//先进先出,循环出队列
if(front==rear) {//如果队列空
return;
}
front = (front+1)%maxsize;//队头指针加一
}
public void showQueue() {//打印队列
for(int i=front;i<rear;i++) {
System.out.print(base[i]+" ");
}
}
public int lenQueue() {//返回队列长度
int length = (rear-front+maxsize)%maxsize;
return length;
}
public static void main(String[] args) {
queue q = new queue();
q.EnQueue(1);
q.EnQueue(2);
q.EnQueue(3);
q.EnQueue(4);
q.EnQueue(5);
System.out.print("初始队列:");
q.showQueue();
System.out.println("\t");
System.out.print("元素循环出去后的队列:");
q.DeQueue();
q.showQueue();
System.out.println("\t");
System.out.print("队列长度为:"+q.lenQueue());
}
}
2.实现截图
二、链队
1.代码
public class Main {
}