資料結構模板 佇列

2021-09-24 20:49:26 字數 1377 閱讀 4053

此部落格是存的是我自己編寫的佇列模板,如有錯誤請指出
佇列是操作受限的線性表,只允許在隊頭進行刪除操作,在隊尾進行插入操作,遵循「先進先出」原則。
///順序隊

//存在假溢位問題

#include

#include

#define elemtype int

#define maxsize 1000

using namespace std;

typedef

struct

sqqueue;

void

initqueue

(sqqueue *

&q)void

destroyqueue

(sqqueue *

&q)bool queueempty

(sqqueue *q)

bool enqueue

(sqqueue *

&q,elemtype e)

}bool dequeue

(sqqueue *

&q,elemtype &e)

}int

main()

/**

環形隊解決了假溢位問題

關鍵**:

front=(front+1)%maxsize

rear=(rear+1)%maxsize

保證隊頭和隊尾指標永遠在0-maxsize-1範圍內

**/#include

#include

#define elemtype int

#define maxsize 1000

using namespace std;

typedef

struct

circlequeue;

void

initqueue

(circlequeue *

&q)void

destroyqueue

(circlequeue *

&q)bool queueempty

(circlequeue *q)

bool queuefull

(circlequeue *q)

bool enqueue

(circlequeue *

&q,elemtype e)

}bool dequeue

(circlequeue *

&q,elemtype &e)

}int

queuelen

(circlequeue *

&q)int

main()

資料結構模板 棧

此部落格是存的是我自己編寫的棧模板,如有錯誤請指出棧是操作受限的線性表,只允許在棧頂進行插入和刪除操作,遵循 後進先出 原則。include include define elemtype int define maxsize 1000 using namespace std 這是順序棧的模板 ty...

資料結構模板合集

線段樹lazy操作模板 區間修改,區間查詢 class segment tree lazy inline void add int p,int v,int t inline void pushdown int p,int l,int r public inline void build tree i...

基本資料結構模板

單鏈表 head儲存煉表頭,e儲存節點的值,ne儲存節點的next指標,idx表示當前用到了哪個節點 int head,e n ne n idx 初始化 void init 在煉表頭插入乙個數a void insert int a 將頭結點刪除,需要保證頭結點存在 void remove 雙鏈表 e...