文档章节

优先级队列

李光正
 李光正
发布于 2015/10/15 14:53
字数 166
阅读 2
收藏 0
点赞 0
评论 0


package com.bjwilly.test;
 
import java.util.PriorityQueue;
 
public class PriorityQueueTest extends PriorityQueue<PriorityQueueTest.TodoItem>{
     static class TodoItem implements Comparable<TodoItem>{
         private char primary;
         private int secondary;
         private String item;
         
         public TodoItem(String td, char pri, int sec){
             primary = pri;
             secondary = sec;
             item = td;
         }
         @Override
         public int compareTo(TodoItem arg) {
             if (primary > arg.primary)
                 return + 1 ;
             if (primary == arg.primary)
                 if (secondary > arg.secondary)
                     return + 1 ;
                 else if (secondary == arg.secondary)
                     return 0 ;
             return - 1 ;
         }
         
         public String toString(){
             return Character.toString(primary)+ secondary + ": " + item;
         }
         
     }
     
     public void add(String td, char pri, int sec){
         super .add( new TodoItem(td,pri,sec));
     }
     public static void main(String[] args) {
         PriorityQueueTest toDoList = new PriorityQueueTest();
         toDoList.add( "Empty trash" , 'C' , 4 );
         toDoList.add( "Feed dog" , 'A' , 2 );
         toDoList.add( "Feed bird" , 'B' , 7 );
         toDoList.add( "Mow lawn" , 'C' , 3 );
         toDoList.add( "Water lawn" , 'A' , 1 );
         toDoList.add( "Feed cat" , 'B' , 1 );
         while (!toDoList.isEmpty())
             System.out.println(toDoList.remove());
     }
}

输出结果

A1: Water lawn
A2: Feed dog
B1: Feed cat
B7: Feed bird
C3: Mow lawn
C4: Empty trash
http://www.bjwilly.com/archives/202.html

© 著作权归作者所有

共有 人打赏支持
李光正
粉丝 5
博文 64
码字总数 0
作品 0
大兴

暂无相关文章

RabbitMQ学习以及与Spring的集成(三)

本文介绍RabbitMQ与Spring的简单集成以及消息的发送和接收。 在RabbitMQ的Spring配置文件中,首先需要增加命名空间。 xmlns:rabbit="http://www.springframework.org/schema/rabbit" 其次是模...

onedotdot ⋅ 16分钟前 ⋅ 0

JAVA实现仿微信红包分配规则

最近过年发红包拜年成为一种新的潮流,作为程序猿对算法的好奇远远要大于对红包的好奇,这里介绍一种自己想到的一种随机红包分配策略,还请大家多多指教。 算法介绍 一、红包金额限制 对于微...

楠木楠 ⋅ 28分钟前 ⋅ 0

Python 数电表格格式化 xlutils xlwt xlrd的使用

需要安装 xlutils xlwt xlrd 格式化前 格式化后 代码 先copy读取的表格,然后按照一定的规则修改,将昵称中的学号提取出来替换昵称即可 from xlrd import open_workbookfrom xlutils.copy ...

阿豪boy ⋅ 57分钟前 ⋅ 0

面试题:使用rand5()生成rand7()

前言 读研究生这3 年,思维与本科相比变化挺大的,这几年除了看论文、设计方案,更重要的是学会注重先思考、再实现,感觉更加成熟吧,不再像个小P孩,人年轻时总会心高气傲。有1 道面试题:给...

初雪之音 ⋅ 58分钟前 ⋅ 0

Docker Toolbox Looks like something went wrong

Docker Toolbox 重新安装后提示错误:Looks like something went wrong in step ´Checking if machine default exists´ 控制面板-->程序与应用-->启用或关闭windows功能:找到Hyper-V,如果处......

随你疯 ⋅ 今天 ⋅ 0

Guacamole 远程桌面

本文将Apache的guacamole服务的部署和应用,http://guacamole.apache.org/doc/gug/ 该链接下有全部相关知识的英文文档,如果水平ok,可以去这里仔细查看。 一、简介 Apache Guacamole 是无客...

千里明月 ⋅ 今天 ⋅ 0

nagios 安装

Nagios简介:监控网络并排除网络故障的工具:nagios,Ntop,OpenVAS,OCS,OSSIM等开源监控工具。 可以实现对网络上的服务器进行全面的监控,包括服务(apache、mysql、ntp、ftp、disk、qmail和h...

寰宇01 ⋅ 今天 ⋅ 0

AngularDart注意事项

默认情况下创建Dart项目应出现以下列表: 有时会因为不知明的原因导致列表项缺失: 此时可以通过以下步骤解决: 1.创建项目涉及到的包:stagehand 2.执行pub global activate stagehand或pub...

scooplol ⋅ 今天 ⋅ 0

Java Web如何操作Cookie的添加修改和删除

创建Cookie对象 Cookie cookie = new Cookie("id", "1"); 修改Cookie值 cookie.setValue("2"); 设置Cookie有效期和删除Cookie cookie.setMaxAge(24*60*60); // Cookie有效时间 co......

二营长意大利炮 ⋅ 今天 ⋅ 0

【每天一个JQuery特效】淡入淡出显示或隐藏窗口

我是JQuery新手爱好者,有时间就练练代码,防止手生,争取每天一个JQuery练习,在这个博客记录下学习的笔记。 本特效主要采用fadeIn()和fadeOut()方法显示淡入淡出的显示效果显示或隐藏元...

Rhymo-Wu ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部