C 順序佇列

2021-08-28 15:57:09 字數 922 閱讀 8250

主程式 main.cpp

//written by xuebi

//順序佇列,先進先出,後進後出(迴圈),區別與上一文章先進後出,後進先出,而且引入了迴圈概念

#include #include "my_stack.h"

using namespace std;

int main()

;template//stack類的建構函式

mystack::mystack(int stacksize):size(stacksize)

template//stack的析構函式

mystack::~mystack()

templatebool mystack::isempty()const

templatet&mystack::f_front()const

else

delete stack;

stack=a;

rear=size-2;//rear位置,原本未擴充前stack陣列含有size-1個資料(front留空)

front=2*size-1;//front位置

size=2*size;

}else//佇列沒滿直接新增資料

}#endif //my_stack-h```

佇列已滿的情況

f:front

r:rear

情況1|空-f|a|b|c-r|

|a|b|c-r|空_f|

情況1可以從front+1開始完整拷貝

情況2|c-r| 空-f |a|b|

|b|c-r|空-f|a|

情況2要分段拷貝

擴大陣列再拷貝後得到

|a|b|c-r|空|空|空|空|空-f|

佇列未滿,可以繼續新增元素

記得點讚哦

-

迴圈佇列 順序佇列(C )

佇列 queue 是一種限定訪問位置的線性變。他允許在表的一端插入,在另一端刪除。這個和計算機排程策略中的先來先服務fcfs first come first served 是一樣的。佇列中可以插入的一端為隊尾 rear 允許刪除的一端稱為隊頭 front 佇列也分為兩種,一種是用陣列的儲存表示,一...

C 迴圈順序佇列

顧名思義 採用順序結構存放的佇列稱為順序佇列 迴圈順序佇列可以避免佇列的假溢位現象的發生。如下圖示,迴圈佇列的幾種特殊情況。學習完順序迴圈佇列個人感覺應該注意的事項 front rear只是表示在base i 這個順序表中的索引值,而不是記憶體的絕對位址,這樣也才在後面的迴圈的時候處理起來比較方便 ...

C語言順序佇列

順序佇列是一種只能在一頭進和另一頭出的資料結構,所以結構體裡設2個指標分別指向頭部和尾部,用陣列來儲存資料。1 define maxsize 1024 23 typedef int elemtype 45 typedef struct sequenqueuesequenqueue 1011 sequ...