棧和佇列的模板形式 C 實現

2021-09-24 21:08:19 字數 1158 閱讀 4704

都用的標頭檔案形式

棧的模板形式

#ifndef _mystack_h

#define _mystack_h

// 棧

template struct node

;template struct stack

;template void initstack(stack* s)

template bool isstackempty(stack* s)

template void push(stack* s, t data)

template t pop(stack* s)

template void reset(stack* s)

}template void clear(stack* s)

#endif

佇列的模板形式

#ifndef _myqueue_h

#define _myqueue_h

// 佇列

template struct qnode

;template struct queue

;template void initqueue(queue* q)

template bool isqueueempty(queue* q)

template void enqueue(queue* q, t ch)else

}template t dequeue(queue* q)else

}template void clearqueue(queue* q)

qnode* p = q->front->next;

q->rear = q->front;

q->front->next = null;

qnode*t;

while(p)

t = q->front;

q->front = q->rear = null;

free(t);

/*// clear是把不帶頭節點佇列內的元素完全刪除掉,回歸到initqueue後的狀態

qnode* t;

while(q->front)

*/}#endif

僅供參考

模板引數和模板的模板引數實現棧和佇列

include using namespace std 利用順序表實現棧 if 0 template class stack stack const t arr,size t sz ptr new t sz capacity sz size sz 元素入棧 void push t data 元素出棧...

棧和佇列(模板)

陣列模擬棧 include using namespace std const int n 100010 int stk n tt 插入 stk tt x 彈出 tt 判斷棧是否為空 if tt 0 not empty else is empty 棧頂 stk tt 陣列模擬佇列 include u...

棧和佇列的模擬模板

棧 模板題 acwing 828.模擬棧 實現乙個棧,棧初始為空,支援四種操作 1 push x 向棧頂插入乙個數x 2 pop 從棧頂彈出乙個數 3 empty 判斷棧是否為空 4 query 查詢棧頂元素。現在要對棧進行m個操作,其中的每個操作3和操作4都要輸出相應的結果。輸入格式 第一行包含整...