博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java数据结构——优先级队列
阅读量:4965 次
发布时间:2019-06-12

本文共 1660 字,大约阅读时间需要 5 分钟。

//=================================================// File Name       :	PriorityQueue_demo//------------------------------------------------------------------------------// Author          :	Common//类名:PriorityQueue//属性://方法:class PriorityQueue{	private int maxSize;					//队列的长度	private long[] queueArray;		//创建队列的数组的引用	private int curNum;					//创建当前元素的个数		public PriorityQueue(int s) {					//构造函数		this.maxSize = s;		queueArray = new long[maxSize]; 		//创建对象		curNum = 0;									//当前的元素的个数是0	}		public void insert(long item){		int j;		if(curNum == 0){								//输入1个数,就是1个数			queueArray[curNum++] = item;						}else{														//左边是rear,右边是front,左边总比右边大			for(j=curNum-1;j>=0;j--){				//当有2个数时,若第2个数比第1个数大,则交换				if(item>queueArray[j]){				//j在-1的时候停止,rear=0,front=curNum-1					queueArray[j+1] = queueArray[j];		// 1 2 -> 1 1 -> 2 1 							}else{break;}												// 2 1 3 -> 2 1 1 -> 2 2 1 -> 3 2 1			}																						queueArray[j+1] = item;			curNum++;		}	}		public long remove(){		return queueArray[--curNum];	}		public long peekFront(){		return queueArray[curNum-1];			}		public boolean isEmpty(){		return (curNum==0);	}		public boolean isFull(){		return (curNum==maxSize);	}		}//主类//Function        : 	PriorityQueue_demopublic class PriorityQueue_demo {	public static void main(String[] args) {		// TODO 自动生成的方法存根		PriorityQueue queue_demo = new PriorityQueue(5);		queue_demo.insert(30);		queue_demo.insert(10);		queue_demo.insert(50);		queue_demo.insert(40);		queue_demo.insert(20);		while( !queue_demo.isEmpty()){			long value = queue_demo.remove();			System.out.println(value+"、");		}	}}

 

转载于:https://www.cnblogs.com/tonglin0325/p/5334819.html

你可能感兴趣的文章
Spark&Hive结合起来
查看>>
使用Flex和java servlet上传文件
查看>>
软件工程的实践项目课程的自我目标
查看>>
POJ 1321 棋盘问题 (深搜)
查看>>
自定义TabBar
查看>>
最近戴着眼镜坐电脑前总是不自觉的眼痛就搜了下怎么保护眼睛无意中看到了这篇文章希望广大爱好编程的朋友多注意保护自己的眼睛!!...
查看>>
Eclipse快捷键大全
查看>>
Let's Chat ZOJ - 3961
查看>>
该不该主动去联系多年未联系的老同学?看完这篇文章你再回答
查看>>
业务逻辑漏洞个人经验集锦【不定时更新~】
查看>>
[Swift] Storyboard outlet and action
查看>>
[Compose] 10. Capture Side Effects in a Task
查看>>
[Javascript AST] 0. Introduction: Write a simple BabelJS plugin
查看>>
[Core Javascirpt] Basic Metaprogramming: Dynamic Method
查看>>
[Angular2 Router] Use Params from Angular 2 Routes Inside of Components
查看>>
makefile
查看>>
Spring 构造注入和Set注入复习
查看>>
python --第三方登录--微博
查看>>
Markdown基本介绍
查看>>
git,怎么说呢?应该就是看不懂意思吧?
查看>>