数据结构——队列
2023-02-18 16:27:08 时间
定义
队列(Queue)。队列简称队。是一种操作受限的线性表,只允许在表的一端进行插入,而在表的另一端进行删除。向队列中插入元素称为入队或进队;删除元素称为出队或离队。其操作特性为先进先出(First In First Out,FIFO),并且只允许在队尾进,队头出
特性:先进先出
队列中的名词
- 队头(Front):允许删除的一端,又称队首。
- 队尾(Rear):允许插入的一端。
- 空队列:不包含任何元素的空表。
- 入队,若队列Q未满,将x加入,使之成为新的队尾
- 出队,若队列Q非空,删除队头元素,并用x返回。
队列的实现
数组
package Main;
/**
* 1.使用数组实现队列功能,使用int数组保存数据特点:先进先出,后进后出
*/
public class QueueTest1 {
public static void main(String[] args){
//测试队列
System.out.println("测试队列:");
Queue queue = new Queue();
queue.in(1);
queue.in(2);
queue.in(3);
System.out.println(queue.out());
System.out.println(queue.out());
queue.in(4);
System.out.println(queue.out());
System.out.println(queue.out());
queue.in(5);
System.out.println(queue.out());
}
}
//使用数组定义一个队列
class Queue {
int[] a = new int[5];
int i = 1; //数组下标
//入队
public void in(int m){
a[i++] = m;
}
//出队
public int out(){
int index = 0;
int temp = a[1];
for(int j=1;j<i;j++){
a[j-1] = a[j];
index++;
}
i = index;
return temp;
}
}
问题
那么经过昨天的栈和今天的队列,你能否用俩个栈来实现一个队列?
相关文章
- 带你掌握java反序列化漏洞及其检测
- 这几种Java异常处理方法,你会吗?
- 教你用Java7的Fork/Join框架开发高并发程序
- Java变异出现错误:No enclosing instance of type XXX is accessible
- LeetCode - #70 爬楼梯(Top 100)
- LeetCode - #71 简化路径
- LeetCode - #72 编辑距离(Top 100)
- LeetCode - #73 矩阵置零
- LeetCode - #74 搜索二维矩阵
- [Maven进阶]聚合和继承
- Ichunqiu云境 - Delegation Writeup
- 在搭载 M1 及 M2 芯片 MacBook 设备上玩 Stable Diffusion 模型
- 在 Ubuntu 上安装 Discourse 开发环境
- 用户重复注册分析-多线程事务中加锁引发的bug
- 基于51单片机的简易抢答器
- 设计分享|74HC154译码器实现流水灯
- adobe photoshop软件2023最新版下载安装
- Photoshop2023最新完美版一键式安装教程
- DaVinci Resolve2023永久免费版下载安装教程
- 3dmax软件2023最新免费版下载