[Java数据结构]线性表之优先级队列PriorityQueue
来源:互联网 发布:淘宝上怎么好评改差评 编辑:程序博客网 时间:2024/06/07 22:36
这里只探讨最简单的java数据结构
》》PriorityQueue
优先级队列会对入队的元素进行排序,所以在队列顶端的总是最小(或最大)的元素,这里取决于你对优先级的判断。
顶端是队头,n方向才是队头,而不是0。
即,优先级设定为元素小的,那么插入的值越小就会越排在队头最先被弹出。
优先级队列不同于队列,优先级的队列的队头在优先级高的地方,而不是传统的先进就是队头后进就是队尾。
》》插入和删除
插入慢,但是删除很快
》》代码思路
插入:先检查是否有数据项,有则插入arr[0]
如果有,则从队头(即n处向前遍历,比较arr[j]和插入数值的大小,优先级高的排在前面,将插入数值放入合适的位置
移出:弹出,从优先级高的地方,即队头(N处)逐一弹出
》》代码
package 栈和队列;/* * * 本例设定数字越小优先级越高 * 小的数字会插在队头,越大会越排在队尾。 * */class priQueArr {private int maxSize;private long[] queArrary;private int n;public priQueArr(int size) {maxSize = size;queArrary = new long[maxSize];n = 0;}public void insert(int i) {int j;if(n==0){queArrary[n++]=i;}else{for(j=n-1;j>=0;j--){//从最后开始,往前比较if(i>queArrary[j]){queArrary[j+1]=queArrary[j];//交换(还没有插入,而是空位交换,即里面的数字让位)}else{//如果不需要移动break;//跳出for循环,j不会再自减}}queArrary[j+1]=i;//插入,先插入,n++;}}public boolean isEmpty() {return (n==0);}public boolean isFull(){return (n==maxSize);}public long remove() {return queArrary[--n];//最小的先弹出}}public class PriorityQue {public static void main(String[] args) {priQueArr arr = new priQueArr(10);arr.insert(2);arr.insert(4);arr.insert(1);arr.insert(1);while (!arr.isEmpty()) {long item = arr.remove();System.out.print(item + " ");}}//1 1 2 4}
阅读全文
0 0
- [Java数据结构]线性表之优先级队列PriorityQueue
- java之_队列(PriorityQueue 优先级队列)
- Java优先级队列PriorityQueue
- PriorityQueue 优先级队列【java】
- JAVA中的优先级队列PriorityQueue
- JavaScript 数据结构(4):优先级队列 PriorityQueue
- Java数据结构-线性表之队列
- [Java数据结构]线性表之队列Queue
- java中PriorityQueue优先级队列使用方法
- 优先级队列(java.util.PriorityQueue<E>)
- java中PriorityQueue优先级队列使用方法
- java中PriorityQueue优先级队列使用方法
- java中PriorityQueue优先级队列使用方法
- java中PriorityQueue优先级队列使用方法
- java中PriorityQueue优先级队列使用方法
- java中PriorityQueue优先级队列的使用
- java中PriorityQueue优先级队列使用方法
- java中PriorityQueue优先级队列使用方法
- 数据结构实验之查找二:平衡二叉树
- SQL like模糊查询
- 在Ubuntu系统、GPU模式下运行Faster R-cnn代码
- 魔鬼还是天使?论风险投资
- Latex 彩色表格
- [Java数据结构]线性表之优先级队列PriorityQueue
- jsp项目总结:TTMS
- 字符游戏-智能蛇
- springboot+jsp返回404原因
- poi读取word
- 离线地图开发
- OSGI入门实例讲解(一)
- Leetcode: Reorder List
- mysql数据库的导入和导出