C 資料結構 簡單靜態迴圈佇列

2021-10-16 12:44:18 字數 1507 閱讀 3061

要求:

思路:

示意圖

**

#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...