C 資料結構 公式化描述的佇列Queue類

2021-08-27 07:14:07 字數 861 閱讀 8675

//公示化描述的佇列類queue

#include using namespace std;

//fiifo物件

template class queue

bool isempty()const

bool isfull()const

t first()const; //返回隊首元素

t last()const; //返回隊尾元素

queue& add(const t&x);

queue& delete(t&x);

void output();

private:

int front; //與第乙個元素在反時針方向上相差乙個位置

int rear; //指向最後乙個元素

int maxsize; //佇列陣列的大小

t *queue; //陣列

};

class outofbounds;

//該佇列的輸出方法

templatevoid queue::output()

//返回佇列的最後乙個元素

//若隊列為空則返回異常

template t queue::last()const

//新增乙個新的成員

//注意:因為rear==front無法判斷出佇列是空還是滿

//所以將front的數值是頭位置的前乙個數字

//所以佇列的最大空間為maxsize-1

templatequeue& queue::add(const t&x)

templatequeue& queue::delete(t&x)

void main()

堆疊的公式化描述實現

堆疊和佇列可能是使用頻率最高的資料結構,二者都來自於線性表資料結構 經過某種限制以後 堆疊資料結構是通過對線性表的插入和刪除操作進行限制而得到的 插入和刪除操作都必須在表的同一端完成 因此,堆疊是乙個後進先出 last in first out,lifo 的資料結構。1 定義 定義 堆疊 堆疊 s ...

資料結構(四) 線性表的公式化描述小結

公式化線性表的核心操作 插入 刪除 合併和搜尋 公式化線性表的操作 對陣列的操作 解題時可能用到的技巧 元素逆置 二分搜尋 int型別模擬指標 一點點想象力 時間空間複雜度要求 大部分情況 時間複雜度o n 空間複雜度為o 1 時間複雜度為o logn 的題目較少,且最優解需要耗費時間。除非想不出其...

資料結構迴圈佇列(c語言描述)

迴圈佇列也是佇列的順序儲存結構,只是在原先的佇列的基礎上進行的優化,我在寫的時候出現了一些問題,但是我搜尋的部落格中都沒有提到這個問題,首先 front是指向佇列的第乙個元素,rear是指向隊尾的下乙個元素,maxsize是佇列的最大容量 首先我賣個關子,這裡maxsize的描述是錯的 佇列滿條件 ...