先定義佇列的幾個基本操作,再設計一主函式利用佇列的操作完成以下功能:
鍵盤輸入的字元可以臨時存入鍵盤的緩衝區中。為了充分利用緩衝區的空間,往往將緩衝區設計成鏈式迴圈佇列的結構,並為迴圈佇列結構的緩衝區設定乙個隊首指標和乙個隊尾指標。
每輸入乙個字元到緩衝區中,就將尾指標後移,鏈入緩衝區的迴圈佇列之中;每輸出乙個字符號,就將隊頭指標前移,將它從緩衝佇列中刪除。
假設有兩個程序同時存在於乙個應用程式中,第乙個程序連續在螢幕上顯示字元「x」,第二個程序不斷檢查鍵盤上是否有輸入,若有則讀入使用者鍵入的字元,將其儲存到鍵盤緩衝區中。
**如下:
#include
#include
using
namespace std;
typedef
char elemtype;
#define error 0
#define ok 1
typedef
struct queuenode
queuenode,
*queuestr;
typedef
struct
linkqueue;
linkqueue initqueue
(linkqueue &q)
//初始化
intinqueue
(linkqueue &q, elemtype e)
//入佇列
intoutqueue
(linkqueue &q,
char e)
//出佇列
intgethead
(linkqueue q)
//取隊頭元素
else
return error;
}int
main()
}cout << endl;
char e=0;
cout <<
"出佇列:"
;while
(q.front != q.rear)
//只要佇列不為空,就出列
cout << endl;
system
("pause");
}
需要了解關於getch()函式和kbhit()函式的使用方法,請參見:
c++——kbhit()、getch()與getchar()
C 鏈式佇列
函式宣告 include include using namespace std define true 1 define false 0 typedef int elemtype class node 等號運算子過載函式 queue operator const queue queue head ...
棧和佇列的綜合應用
迷宮問題。假設迷宮由m行n列構成,有乙個入口和乙個出口,入口座標為 1,1 出口座標為 m,n 試設計並驗證以下演算法 找出一條從入口通往出口的路徑,或報告乙個 無法通過 的資訊。1 用c語言實現順序儲存結構上佇列的基本操作,然後利用該佇列的基本操作找出迷宮的一條最短路徑。2 設計乙個二維陣列maz...
鏈式佇列的C 實現
鏈式佇列的c 實現 一 資料結構 struct qnode 定義佇列結點的資料結構 struct linkqueue 定義佇列的資料結構 void initqueue linkqueue q 構造乙個空的佇列 int isempty linkqueue q 判斷佇列是否為空 void enqueue...