进程优先队列
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace StackQueue.algo { //进程优先队列 public struct pqItem { //通常会把存储在优先队列中的数据项作为键值对来构造,其中关键字就是指优先级别,而值则用来识别数据项。 //例如,可以按照如下形式对一个操作系统进程进行定义: public int priority; public string name; }//public struct pqItem public class PQueue : Queue { //大家不能把未修改的 Queue 对象用于优先队列。 DeQueue 方法在被调用时只会把队列中的第一个数据项移除。 //但是,大家可以从 Queue 类派生出自己的优先队列类,同时覆盖 DeQueue 方法来实现自己的需求。 //大家把这个类称为 PQueue。所有 Queue 的方法都可以照常使用,同时覆盖 Dequeue 方法来移除具有最高优先 //级的数据项。为了不从队列前端移除数据项,首先需要把队列的数据项写入一个数组