温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java实现队列的入队和出队方法

发布时间:2020-06-23 23:09:30 来源:亿速云 阅读:752 作者:Leah 栏目:编程语言

这篇文章运用简单易懂的例子给大家介绍java实现队列的入队和出队方法,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

首先要定义几个变量与数组:

a:表示队列的数组

rear:表示队列尾,这里初始化为0

(入队一个元素下标就往后移动一位)

front:表示队列头,同样初始化为0

(出队一个元素下标就往后移动一位)

maxsize:最大下标,这里初始化为4,但是队列只能存放3个。(队列的长度加一)

这里数组预留出的一个位置用来判断队列的空或满。

参考下面的图方便理解:

此时元素个数为3已经是满了的,因为数组个数是有效的元素个数加一。

注:元素下标只能为0——3

代码如下:

//数据结构——队列 import java.util.Scanner; public class Queue {	int[] a ;	int rear;	int front;	int maxsize;	public static void main(String[] args) {	Queue queue = new Queue();	Scanner scan = new Scanner(System.in);	int i;	do {	System.out.println("请输入:1入队 2出队 3查看 0退出");	i = scan.nextInt();	switch(i) {	case 1:	System.out.println("请输入要入队的元素:");	queue.addQueue(scan.nextInt());	break;	case 2:	queue.exitQueue();	break;	case 3:	queue.showqueue();	break;	}	}while(i!=0);	System.out.println("退出成功");	}	//构造函数	public Queue(){	a = new int[4];	rear = 0;	front = 0;	maxsize = 4;	}	//判断队列是否为空	public boolean judgeNull() {	return rear == front;	}	//判断队列是否已满	public boolean judgeFull() {	return (rear+1) % maxsize == front;	}	//入队	public void addQueue(int num) {	//判断,若队列已满则结束,不满则将其添加	if(judgeFull()) {	System.out.println("队列已满");	return ;	}	a[rear] = num;	rear = (rear+1) % maxsize;	}	//出队	public void exitQueue() {	//判断,若队列为空则结束,非空则将其最前的元素取出	if(judgeNull()) {	System.out.println("队列为空");	return ;	}	front = (front+1) % maxsize;	}	//显示队列的元素	public void showqueue() {	if(judgeNull()) {	System.out.println("队列为空");	return ;	}	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实现队列的入队和出队方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI