2018年國(guó)家電網(wǎng)考試備考計(jì)算機(jī)之?dāng)?shù)據(jù)結(jié)構(gòu)與算法(5)
注意:空隊(duì)時(shí)rear等于front,滿(mǎn)隊(duì)時(shí)必須空一個(gè)位置。
順序循環(huán)隊(duì)列類(lèi)模板
templateclass Queue
{
int rear,front; //隊(duì)尾與隊(duì)頭下標(biāo)
T *elements; //存放隊(duì)列元素的容器
int maxSize; //隊(duì)列最多可容納元素個(gè)數(shù)+1
public:
Queue(int ms=18);
~Queue()
{
delete[] elements;
}
bool IsEmpty() const //判隊(duì)空
{
return front==rear;
}
bool IsFull() const //判隊(duì)滿(mǎn)
{
return (rear+1)%maxSize==front;
}
int Length() const //求隊(duì)中元素?cái)?shù),注意求余算法
{
return (rear-front+maxSize)%maxSize;
}
void EnQue(const T &data); //進(jìn)隊(duì)
T DeQue(); //出隊(duì)
T GetFront(); //取隊(duì)頭數(shù)據(jù)
void MakeEmpty()//隊(duì)置空(初始態(tài))
{
front=rear=0;
}
};
4.鏈表 (Linked List)
是一種物理存儲(chǔ)單元上非連續(xù)、非順序的存儲(chǔ)結(jié)構(gòu),它既可以表示線(xiàn)性結(jié)構(gòu),也可以用于表示非線(xiàn)性結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過(guò)鏈表中的指針鏈接次序?qū)崿F(xiàn)的。鏈表由一系列結(jié)點(diǎn)(鏈表中每一個(gè)元素稱(chēng)為結(jié)點(diǎn))組成,結(jié)點(diǎn)可以在運(yùn)行時(shí)動(dòng)態(tài)生成。每個(gè)結(jié)點(diǎn)包括兩個(gè)部分:一個(gè)是存儲(chǔ)數(shù)據(jù)元素的數(shù)據(jù)域,另一個(gè)是存儲(chǔ)下一個(gè)結(jié)點(diǎn)地址的指針域。
基本操作(pascal語(yǔ)言)
建立
第一行讀入n,表示n個(gè)數(shù)
第二行包括n個(gè)數(shù)
以鏈表的形式存儲(chǔ)輸出這些數(shù)
(編輯:姜芃)
- 2020年全國(guó)事業(yè)單位招考信息匯總(4月27日)04-27
- 2020年四川省宜賓學(xué)院招聘高層次人才267人公告04-27
- 2020年江蘇省蘇州張家港市衛(wèi)生健康系統(tǒng)事業(yè)單位招聘292人簡(jiǎn)章04-27
- 2020年浙江省紹興上虞區(qū)衛(wèi)健系統(tǒng)招聘高層次及緊缺專(zhuān)業(yè)畢業(yè)生91人公告04-27
- 2020年浙江省溫州平陽(yáng)縣事業(yè)單位引進(jìn)人才109人公告04-27
- 2020年廣東省韶關(guān)仁化縣第二批丹霞英才暨急需緊缺人才網(wǎng)絡(luò)視頻招聘117人公告04-27