要求:
思路:
示意圖
**
#include
#include
#include
#include
using std::cout;
using std::endl;
class
queue
return _pinstance;
}static
void
destroy()
//單例模式實現要求
}void
print()
}/***元素入隊***/
void
push
(int data)
;/***元素出隊***/
void
pop();
/***讀取隊頭元素***/
intfront()
;/***讀取隊尾元素***/
intback()
;/***判斷佇列是否為空***/
bool
empty()
;/***判斷佇列是否為滿***/
bool
full()
;private
:queue()
:_front(0
),_rear(0
)~queue()
private
:int _data[10]
;int _front;
int _rear;
static queue * _pinstance;};
/***queue類元素入隊實現***/
void queue::
push
(int data)
else
}/***queue類元素出隊實現***/
void queue::
pop(
)else
}/***queue類讀取隊頭元素***/
int queue::
front()
else
}/***queue類讀取隊尾元素***/
int queue::
back()
else
}/***queue類判斷隊空***/
bool queue::
empty()
else
}/***queue類判斷隊滿***/
bool queue::
full()
else
}queue * queue::_pinstance=
nullptr
;int
main()
q->
print()
; queue::
destroy()
;return0;
}
2021/1/ 資料結構 靜態陣列實現迴圈佇列
靜態陣列實現迴圈佇列不需要考慮空間的釋放。迴圈佇列的實現主要重點是在兩個指標的比較上。include define maxsize 10 define elemtype int define status int define ok 1 define error 0 typedef struct q...
資料結構 佇列 迴圈佇列
在佇列的陣列實現中,我們很容易發現數在出隊後,陣列的前面部分會有剩餘空間沒有被使用,所以我們為了最大程度的利用固定長度的陣列,我們採用迴圈佇列的儲存方式,這種方式的最大問題在於resize的時候比較麻煩,所以我們不考慮resize的情況。基本結構如下,這裡front指向第乙個元素的位置,rear指向...
資料結構 佇列 迴圈佇列
資料結構 佇列 迴圈佇列 順序儲存 犧牲乙個空間單元來判段佇列滿狀態。q.front q.rear 1 initsize date 2017 4 16 include define elemtype char define initsize 100 typedef structsqqueue voi...