栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

优先级队列的java实现

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

优先级队列的java实现

public class PriorityQueue {
	public PriorityQueue() {}
	class Node{
		int value;
		int priority;
		Node next;
		public Node(int value,int priority) {
			this.value = value;
			this.priority = priority;
		}
	}
	private Node head;
	public void push(int value,int priority) {
		Node newNode = new Node(value,priority);
		if(head == null) head = newNode;
		else {
			if(newNode.priority>head.priority) {
				newNode.next = head;
				head = newNode;
			}else {
				Node current = head;
				while(current.next != null && current.next.priority > newNode.priority) current = current.next;
				if(current.next == null) current.next = newNode;
				else {
					newNode.next = current.next;
					current.next = newNode;
				}
			}
		}
	}
	public Node pop() {
		if(head != null) {
			Node node = head;
			head = head.next;
			return node;
		}
		return null;
	}
	public Node peek() {
		return head;
	}
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/684825.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号