JAVA中队列,数据结构队列入队操作
如何解决写爬虫IP受阻的问题?立即使用。
用java实现队列的排队和出队
首先要定义几个变量与数组:
a:表示队列的数组(推荐学习:java课程)
Rear:表示队列的末尾,这里初始化为0。
(如果加入队列,元素的下标将向后移动一位)
Front:表示队列头,也初始化为0。
(如果将一个元素下标从队列中取出,将其移回一个位置)
Maxsize:最大下标,这里初始化为4,但是队列只能容纳3。(队列长度加1)
数组中保留的位置用于判断队列是空的还是满的。
参考下面的图方便理解:
此时元素个数为3,已经满了,因为数组个数是有效元素个数加1。
注意:元素下标只能是033543。
代码如下:
//数据结构3354队列
导入Java . util . scanner;
公共类队列{
int[]a;
int rear
int front
int maxsize
公共静态void main(String[] args) {
Queue Queue=new Queue();
扫描仪扫描=新扫描仪(system . in);
int I;
做{
System.out.println(请输入:1入队2出队3查看0退出);
I=scan . nextint();
开关(i) {
案例1:
System.out.println(请输入要排队的元素:);
queue . add queue(scan . nextint());
打破;
案例二:
queue . exit queue();
打破;
案例三:
queue . show queue();
打破;
}
}而(我!=0);
System.out.println(退出成功);
}
//构造函数
公共队列(){
a=new int[4];
后方=0;
front=0;
maxsize=4;
}
//确定队列是否为空。
公共布尔判断Null() {
return rear==front
}
//确定队列是否已满
public boolean judgeFull() {
return(rear 1)% maxsize==front;
}
//加入团队
public void addQueue(int num) {
//判断,如果队列已满,则结束,如果没有,则添加。
if(judgeFull()) {
System.out.println(“队列已满”);
返回;
}
a[rear]=num;
rear=(rear 1)% maxsize;
}
//出列
public void exitQueue() {
//判断,如果队列为空,则结束;如果它不为空,它将取出前面的元素。
if(judgeNull()) {
System.out.println(队列为空);
返回;
}
front=(front 1)% maxsize;
}
//显示队列的元素
public void showqueue() {
if(judgeNull()) {
System.out.println(队列为空);
返回;
}
for(int I=front;I front count();i ) {
System.out.printf(a[%d]=%d\n ,i%maxsize,a[I % maxsize]);
}
}
//找到队列的有效数量
public int count() {
return(rear maxsize-front)% maxsize;
}
}以上是java数据结构的队列的排队和出队细节。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。