本文共 1722 字,大约阅读时间需要 5 分钟。
package pers.zhang.queue;import pers.zhang.linearList.SortedSinglyLinkedList;/** * @author zhang * @date 2020/1/17 - 13:23 * * 优先队列 */public class PriorityQueue> implements QQueue { //使用排序单链表存储队列 private SortedSinglyLinkedList list; //判断队列是否为空 @Override public boolean isEmpty() { return this.list.isEmpty(); } //入队 @Override public void enqueue(T x) { this.list.insert(x);//根据元素大小插入 } //出队 @Override public T dequeue() { return list.remove(0); } @Override public String toString(){ return list.toString(); }}
package pers.zhang.queue;/** * @author zhang * @date 2020/1/17 - 13:26 * * 模拟线程调度 */public class Process implements Comparable{ private String name; //进程名 private int priority; //优先级 public Process(String name, int priority) { this.name = name; this.priority = priority; } public String toString() { return "("+this.name+","+this.priority+")"; } @Override public int compareTo(Process p) //比较两个进程的大小,约定进程排队次序的规则 { return this.priority - p.priority; }}class Process_ex{ public static void main(String args[]) { Process process[]={ new Process("A",4),new Process("B",3),new Process("C",5), new Process("D",4),new Process("E",10),new Process("F",1)}; PriorityQueue que = new PriorityQueue (); //创建一个优先队列 new PriorityQueue (); System.out.print("入队进程:"); for (int i=0; i
转载地址:http://iypqb.baihongyu.com/