using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace QueueTest
{
public struct pqItem {
public int priority;
public string name;
}
/// <summary>
/// 源自Queue的優(yōu)先隊(duì)列
/// </summary>
class PQueue:Queue
{
public PQueue() {
}
/// <summary>
/// 重寫出隊(duì)
/// </summary>
/// <returns></returns>
public override object Dequeue()
{
object[] items;//數(shù)組
int min;//數(shù)字越小優(yōu)先級(jí)越大
items = this.ToArray();//隊(duì)列元素復(fù)制到數(shù)組
min = ((pqItem)items[0]).priority;//默認(rèn)數(shù)組索引為0的優(yōu)先級(jí)最大
//
for (int i = 0; i <= items.GetUpperBound(0); i++)
if (((pqItem)items[i]).priority<min)
{
min = ((pqItem)items[i]).priority;//優(yōu)先級(jí)重新設(shè)置
}
this.Clear();//從隊(duì)列中移除所有對(duì)象
int x2;
//對(duì)數(shù)組循環(huán)遍歷
for (x2 = 0; x2 < items.GetUpperBound(0); x2++)
//如果數(shù)組中找到優(yōu)先級(jí)最高的(且名字不為空) 就進(jìn)隊(duì)
if (((pqItem)items[x2]).priority ==min&&((pqItem)items[x2]).name!="")
this.Enqueue(items[x2]); //進(jìn)隊(duì)
Console.WriteLine(this.Count); //值為1
return base.Dequeue();//先進(jìn)先出
}
static void Main() {
PQueue erwait = new PQueue();//創(chuàng)建一個(gè)隊(duì)列
pqItem[] erPatient = new pqItem[3];//創(chuàng)建pqItem的數(shù)組
pqItem nextPatient;//下一個(gè)
erPatient[0].name = "Joe Smith";
erPatient[0].priority = 1;
erPatient[1].name = "Mary Smith";
erPatient[1].priority = 0;
erPatient[2].name = "Sam Smith";
erPatient[2].priority = 3;
for (int i = 0; i <= erPatient.GetUpperBound(0); i++)
{
erwait.Enqueue(erPatient[i]);
}
Console.WriteLine(erwait.Count);//值為3
nextPatient =(pqItem)erwait.Dequeue();
Console.WriteLine(erwait.Count);//值為0
Console.WriteLine(nextPatient.name);
Console.Read();
}
}
}
005_源自Queue的優(yōu)先隊(duì)列
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門辜纲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來笨觅,“玉大人拦耐,你說我怎么就攤上這事〖#” “怎么了杀糯?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)苍苞。 經(jīng)常有香客問我固翰,道長(zhǎng),這世上最難降的妖魔是什么羹呵? 我笑而不...
- 正文 為了忘掉前任骂际,我火速辦了婚禮,結(jié)果婚禮上冈欢,老公的妹妹穿的比我還像新娘歉铝。我一直安慰自己,他們只是感情好凑耻,可當(dāng)我...
- 文/花漫 我一把揭開白布太示。 她就那樣靜靜地躺著,像睡著了一般香浩。 火紅的嫁衣襯著肌膚如雪类缤。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼降允,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了艺糜?” 一聲冷哼從身側(cè)響起剧董,我...
- 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎破停,沒想到半個(gè)月后翅楼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡真慢,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年毅臊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片黑界。...
- 正文 年R本政府宣布,位于F島的核電站胎挎,受9級(jí)特大地震影響沟启,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜犹菇,卻給世界環(huán)境...
- 文/蒙蒙 一德迹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧项栏,春花似錦浦辨、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽币厕。三九已至列另,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間旦装,已是汗流浹背页衙。 一陣腳步聲響...
- 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像呻袭,于是被迫代替她去往敵國(guó)和親眨八。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 原文地址:Objective-C封裝std::priority_queue<>實(shí)現(xiàn)優(yōu)先隊(duì)列最近項(xiàng)目中需要用到優(yōu)先隊(duì)...
- 一左电、隊(duì)列的定義 隊(duì)列也是數(shù)據(jù)結(jié)構(gòu)的其中一種廉侧,和棧相反的是。隊(duì)列是只允許在一端進(jìn)行插入篓足,在另一端進(jìn)行刪除的線性表段誊。 ...
- 首先感謝行走的少年郎寫的一篇文章《iOS多線程--徹底學(xué)會(huì)多線程之『GCD』》它讓我對(duì)GCD的許多概念有了清晰的理...
- 解決方案 下面的類利用 heapq 模塊實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的優(yōu)先級(jí)隊(duì)列: 下面使用 仔細(xì)觀察可以發(fā)現(xiàn)盼玄,第一個(gè) pop(...