C 鏈式佇列的綜合應用

2021-09-29 05:41:06 字數 1188 閱讀 5222

先定義佇列的幾個基本操作,再設計一主函式利用佇列的操作完成以下功能:

鍵盤輸入的字元可以臨時存入鍵盤的緩衝區中。為了充分利用緩衝區的空間,往往將緩衝區設計成鏈式迴圈佇列的結構,並為迴圈佇列結構的緩衝區設定乙個隊首指標和乙個隊尾指標。

每輸入乙個字元到緩衝區中,就將尾指標後移,鏈入緩衝區的迴圈佇列之中;每輸出乙個字符號,就將隊頭指標前移,將它從緩衝佇列中刪除。

假設有兩個程序同時存在於乙個應用程式中,第乙個程序連續在螢幕上顯示字元「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...