定義結構體:
#define initszie 10
typedef
int elemtype;
typedef
struct stack
stack;
棧的實現和操作:
#incldue"stack.h"
#include
#include
void
initstack
(stack *st)
//初始化棧
(stack *st)
//申請新空間 擴容
free
(st->data)
; st->data=new_space;
st->size*=2
;return true;
}bool isfull
(stack *st)
//判滿
bool push
(stack *st,elemtype val)
//增加資料
} st->data[st->top++
]=val;
return true;
}bool isempty
(stack *st)
//判空
bool pop
(stack *st)
//取出資料
st->top--
;return true;
}//沒有通過top返回值返回棧頂元素,而是通過乙個引數將棧頂元素返回
bool top
(stack *st,elemtype *val)
void
destroystack
(stack *st)
//銷毀
棧的實現和基本操作
棧是一種常用的資料結構,可以幫助我們有效地儲存臨時資料.它遵循lifo last in first out 的原則.它有push pop isempty isfull 幾個常用操作.今天我們就試著用c 來建立乙個棧,並用函式表達出這些功能.include include using namespac...
帶鏈的棧的實現和操作
這個是用鍊錶實現的棧,具體不想多說,直接看 先寫linked stack.h includeusing namespace std template struct node template class linked stack template linked stack linked stack ...
棧的實現及基本操作pta棧的操作
給定乙個初始為空的棧和一系列壓棧 彈棧操作,請編寫程式輸出每次彈棧的元素。棧的元素值均為整數。輸入格式 輸入第1行為1個正整數n,表示操作個數 接下來n行,每行表示乙個操作,格式為1 d或0。1 d表示將整數d壓棧,0表示彈棧。n不超過20000。輸出格式 按順序輸出每次彈棧的元素,每個元素一行。若...