此部落格是存的是我自己編寫的佇列模板,如有錯誤請指出
佇列是操作受限的線性表,只允許在隊頭進行刪除操作,在隊尾進行插入操作,遵循「先進先出」原則。
///順序隊
//存在假溢位問題
#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...