順序隊列

添加頭文件

聲明宏定義

設計數據結構

功能函數聲明

具體功能實現


:因爲隊頭和隊尾都指向第一/最後一個有效元素,因此queue->tall指向-1更合適,而不是指向前/下一個空元素,方便查詢






簡單調用測試

int main()
{
	Queue* queue = creat_queue(10);
	for(int i=0; i<15; i++)
	{
		printf("入隊%s,",push_queue(queue,i)?"成功":"失敗");
		printf("隊尾:%d\n",*tall_queue(queue));
	}
	printf("---------------------\n");
	for(int i=0; i<5; i++)
	{
		printf("隊頭:%d,",*head_queue(queue));
		printf("出隊%s\n",pop_queue(queue)?"成功":"失敗");
	}
	printf("---------------------\n");
	for(int i=77; i<88; i++)
	{
		printf("入隊%s,",push_queue(queue,i)?"成功":"失敗");
		printf("隊尾:%d\n",*tall_queue(queue));
	}
}

結果


總結

創建:初始化各參數
銷燬:直接釋放
隊空:通過cnt判斷
隊滿:通過cnt判斷
入隊:隊不滿則回頭(隊頭前面有空,隊尾就跑到了隊頭前面),給隊尾賦值
出隊:隊不空則回頭
隊頭:隊不空,返回隊頭
隊尾:隊不空,返回隊尾

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章