佇列管理模擬

2021-05-25 22:07:25 字數 1584 閱讀 9283

實驗二  佇列管理模擬

一、實驗內容

佇列的建立、入隊、出隊等操作。

二、實驗目的

1.熟悉用c或c++進行程式設計的方法。

2.掌握佇列的基本操作:建立、入隊、出隊等運算。

三、實驗題目

佇列管理的模擬演算法採用如下管理模式:(佇列採用鏈式儲存結構)

(1)初始化乙個空鏈佇列

(2)當從鍵盤輸入奇數時,奇數從隊尾入佇列;

(3)當從鍵盤輸入偶數時,若佇列不空,則隊頭出隊;

(4)當從鍵盤輸入0時,退出演算法;

(5)每輸入乙個整數,顯示操作後佇列中的所有值。

【測試資料】:

鍵盤輸入整數:1

列印當前佇列:    1

鍵盤輸入乙個整數:3

列印當前佇列:    1    3

鍵盤輸入乙個整數:5

列印當前佇列:    1    3    5

鍵盤輸入乙個整數:7

列印當前佇列:    1    3    5    7

鍵盤輸入乙個整數:1

列印當前佇列:    1    3    5    7    1

鍵盤輸入乙個整數:11

列印當前佇列:    1    3    5    7    1   11

鍵盤輸入乙個整數:2

列印當前佇列:    3    5    7    1   11

鍵盤輸入乙個整數:4

列印當前佇列:    5    7    1   11

鍵盤輸入乙個整數:7

列印當前佇列:    5    7    1   11    7

鍵盤輸入乙個整數:0

列印當前佇列:    5    7    1   11    7   (演算法結束)

四、實驗報告

1.實驗題目。

2.程式中使用的資料結構及符號說明。

3.主要演算法描述及其流程圖。

4.列印乙份源程式並附上注釋。

5.列印程式執行時的初值和執行結果。

#include

#include

typedef int status;

typedef int qelemtype;

#define error 0

#define null 0

#define ok 1

typedef struct qnode

qnode,*queueptr;

typedef struct

linkqueue;

status initqueue(linkqueue &q)//構造乙個空佇列q

status enqueue(linkqueue &q,qelemtype e)//插入元素e為q的新的隊尾元素

status dequeue(linkqueue &q,qelemtype e)//若佇列不空,則刪除q的對頭元素,用e返回其值,

status printqueue(linkqueue &q)//輸出佇列中元素

return ok;

}void main()

else

scanf("%d",&n);

}printqueue(a);

}

tensorflow讀取資料,佇列管理

在使用tensorflow進行非同步計算時,佇列是一種強大的機制。tensorflow提供了兩個類來幫助多執行緒的實現 tf.coordinator和 tf.queuerunner。coordinator類可以用來同時停止多個工作執行緒並且向那個在等待所有工作執行緒終止的程式報告異常,queueru...

hadoop佇列管理(指定queue跑程式)

hadoop 公升級到cdh5後,佇列管理被取消,而是統一用資源池分配。hadoop2.0版本,hadoop採用了平級佇列組織方式,管理員可將使用者分到若干個扁平佇列中,在每個佇列中,可指定乙個或幾個佇列管理員管理這些使用者,比如殺死任意使用者的作業,修改任意使用者作業的優先順序。但這還不夠,需要將...

MQ佇列管理器搭建(三)

描述 如上圖所示,為mq的集群搭建部署圖。clustera clusterb分別是兩個集群,其中qm1 qm3 gatewaya為clustera集群中的佇列管理器 qm1 qm3 gatewayb是clusterb集群中的佇列管理器。gatewaya與gatewayb負責網路路由和訊息分發,使用集...