//迴圈佇列(順序佇列)的實現
#include
#include
#include
#include
#define n 6
//定義資料型別
typedef int datatype_t;
//定義結構體
typedef structsequeue_t;
sequeue_t *sq;
//建立乙個空的佇列
sequeue_t *sequeue_create()
//判斷佇列是否為空
int sequeue_empty(sequeue_t *sq)
//判斷佇列是否為滿
int sequeue_full(sequeue_t *sq)
//入隊
int sequeue_push(sequeue_t *sq, datatype_t value)
sq->data[sq->rear] = value;
sq->rear = (sq->rear + 1) % n;
printf("sequeue_push is ok %d \n",value);
return 0;
}//出隊
datatype_t sequeue_pop(sequeue_t *sq)
datatype_t value;
value = sq->data[sq->front];
sq->front = (sq->front + 1) % n;
return value;
}int main(int argc, const char *argv)
if(j == 0)
j = 1;
else
j = 0;
getchar();
}return 0;
}
佇列 迴圈佇列 的順序儲存實現
佇列的順序儲存實現 1 佇列 一端進,另一端出 佇列由兩個引數決定,front 頭 rear 尾 頭指標指向頭乙個元素,尾指標指向指向最後乙個元素的下一儲存單元 若陣列長度為n,當元素個數為n 1時就認為佇列已滿。r指向最後乙個空的元素空間。出隊 頭指標往上移動,入隊 尾指標向上移動,故 靜態佇列只...
迴圈佇列 順序佇列
在前兩篇中講述了順序佇列中的隊頭移動與不移動兩種順序佇列,今天討論順序佇列中的迴圈佇列,這種迴圈佇列是用一維陣列實現的。在隊頭移動的情況下,根據元素個數與佇列容量之間的數量關係來解決假溢位問題。從上圖中我們可以理解為什麼這種佇列結構可以解決假溢位問題,但是隨之而來,我們要如何判定迴圈佇列已滿呢?在此...
佇列 順序迴圈佇列
順序佇列 sequence queue 用一片連續的儲存空間來儲存佇列中的資料元素.用一維陣列來存放順序佇列中的資料元素。隊頭位置設在陣列下標為 0 的端,用 front 表示 隊尾位置設在陣列的另一端,用 rear 表示。front 和 rear 隨著插入和刪除而變化。當隊列為空時,front r...