下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
實(shí)現(xiàn)循環(huán)隊(duì)列上各種基本運(yùn)算的算法循環(huán)隊(duì)列是一種特殊的隊(duì)列,它的底層實(shí)現(xiàn)是通過數(shù)組來存儲數(shù)據(jù),并通過兩個指針(front指針和rear指針)來確定隊(duì)頭和隊(duì)尾的位置。循環(huán)隊(duì)列的特點(diǎn)是:隊(duì)滿和隊(duì)空的判定條件相同,即隊(duì)頭指針與隊(duì)尾指針相鄰時,隊(duì)列為滿;隊(duì)頭指針與隊(duì)尾指針相等時,隊(duì)列為空。
循環(huán)隊(duì)列的基本運(yùn)算包括:初始化隊(duì)列、入隊(duì)操作、出隊(duì)操作、獲取隊(duì)頭元素、獲取隊(duì)列長度、判定隊(duì)空和隊(duì)滿。
1.初始化隊(duì)列
初始化循環(huán)隊(duì)列需要創(chuàng)建一個指定大小的數(shù)組,并將前后指針(front和rear)都指向數(shù)組的起始位置。代碼如下:
```python
definit_queue(size):
return[None]*size,0,0
```
2.入隊(duì)操作
入隊(duì)操作主要涉及向隊(duì)尾添加元素,并同時更新rear指針。如果隊(duì)列已滿,則無法添加元素。代碼如下:
```python
defenqueue(queue,item):
size,front,rear=queue
if(rear+1)%size==front:
print("Queueisfull")
else:
queue[rear]=item
queue[2]=(rear+1)%size
```
3.出隊(duì)操作
出隊(duì)操作主要涉及從隊(duì)頭移除元素,并同時更新front指針。如果隊(duì)列為空,則無法進(jìn)行出隊(duì)操作。代碼如下:
```python
defdequeue(queue):
size,front,rear=queue
iffront==rear:
print("Queueisempty")
else:
item=queue[front]
queue[front]=None
queue[1]=(front+1)%size
returnitem
```
4.獲取隊(duì)頭元素
獲取隊(duì)頭元素操作是指返回隊(duì)列中第一個元素的值,但不移除元素。代碼如下:
```python
defget_front(queue):
ifqueue[0][0]==queue[0][1]:
print("Queueisempty")
else:
returnqueue[0][queue[1]]
```
5.獲取隊(duì)列長度
獲取隊(duì)列長度操作是指返回隊(duì)列中元素的個數(shù)。代碼如下:
```python
defget_size(queue):
size,front,rear=queue
iffront<=rear:
returnrear-front
else:
returnsize-(front-rear)
```
6.判定隊(duì)空
判定隊(duì)空操作是指判斷隊(duì)列中是否沒有元素。代碼如下:
```python
defis_empty(queue):
returnqueue[1]==queue[2]
```
7.判定隊(duì)滿
判定隊(duì)滿操作是指判斷隊(duì)列中是否已滿。代碼如下:
```python
defis_full(queue):
return(queue[2]+1)%queue[0]==queue[1]
```
這些算
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度高科技產(chǎn)品贈予合同借款與設(shè)備租賃綜合服務(wù)協(xié)議3篇
- 炫彩煙花手工課程設(shè)計(jì)
- 2024年度地暖工程設(shè)計(jì)與施工安全監(jiān)督管理合同3篇
- 2024年企業(yè)員工入職保密協(xié)議與商業(yè)秘密管理合同3篇
- 2024年版權(quán)轉(zhuǎn)讓合同:著作權(quán)的合法交易
- 2024年股權(quán)出售合同:公司股權(quán)轉(zhuǎn)讓協(xié)議
- 2024年標(biāo)準(zhǔn)設(shè)備購置與施工一體化協(xié)議模板版
- 2024年度藝術(shù)類院校學(xué)生入學(xué)合同范本(含獎學(xué)金)3篇
- 有趣音樂素養(yǎng)課程設(shè)計(jì)
- 2024年地方預(yù)算單位公務(wù)卡項(xiàng)目資金結(jié)算服務(wù)協(xié)議3篇
- 北京市石景山區(qū)2023-2024學(xué)年七年級上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 2025版寒假特色作業(yè)
- Unit 7 Will people have robots Section B 1a-1e 教學(xué)實(shí)錄 2024-2025學(xué)年人教版英語八年級上冊
- 國內(nèi)外航空安全形勢
- 《雷達(dá)原理》課件-1.1.6教學(xué)課件:雷達(dá)對抗與反對抗
- 2024年版汽車4S店商用物業(yè)租賃協(xié)議版B版
- 微信小程序云開發(fā)(赤峰應(yīng)用技術(shù)職業(yè)學(xué)院)知到智慧樹答案
- 遼寧省撫順市清原縣2024屆九年級上學(xué)期期末質(zhì)量檢測數(shù)學(xué)試卷(含解析)
- 2024-2025學(xué)年上學(xué)期福建高二物理期末卷2
- 2024四川阿壩州事業(yè)單位和州直機(jī)關(guān)招聘691人歷年管理單位遴選500模擬題附帶答案詳解
- 麻醉科工作計(jì)劃
評論
0/150
提交評論