优先级队列 to-do列表-容器深入研究

优先级队列是一种数据结构,允许按优先级访问元素,常用于实现高效的待办事项列表。在Java等语言中,通过Comparable接口实现元素的比较,从而进行排序。插入和删除操作通常涉及查找优先级最高的元素。此结构适用于处理不同优先级的任务,确保高优先级任务优先处理。
摘要由CSDN通过智能技术生成

优先级队列 百科解释如下

如果我们给每个元素都分配一个数字来标记其优先级,不妨设较小的数字具有较高的优先级,这样我们就可以在一个集合中访问优先级最高的元素并对其进行查找和删除操作了。这样,我们就引入了优先级队列 这种数据结构。 优先级队列(priority queue) 是0个或多个元素的集合,每个元素都有一个优先权,对优先级队列执行的操作有(1)查找(2)插入一个新元素 (3)删除 一般情况下,查找操作用来搜索优先权最大的元素,删除操作用来删除该元素 。对于优先权相同的元素,可按先进先出次序处理或按任意优先权进行。

就是原本队列是先进先出的,现在给它加一个优先级,优先级嘛就像会员一样,有些事情可以先做。但针对内部实现的话,很容易想到就需要一个排序的操作。在容器中一旦牵涉到排序都会出现一个Comparable接口当然这个也不例外。这个接口很好用实现以下,然后再重写一下compareTo方法即可,看下面的代码。

import java.util.PriorityQueue;

public class ToDoList extends PriorityQueue<ToDoList.ToDoItem>{
	
	static class ToDoItem implements Comparable<ToDoItem> {
		
		private char primary;
		private int secondary;
		private String item;
		public ToDoItem(String td, char pri, int sec) {
			this.primary = pri;
			this.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值