棧有什麼特點呢?
棧中的元素先進後出。常見的棧的操作有出棧、壓棧、刪除等。
在壓棧時,需要檢查棧是否已滿;
在出棧時,需要檢查棧是否已空。
用陣列模擬棧的實現如下:
#define _stacksize 100
//棧的宣告
struct stack
//棧的初始化
void ini_stack(struct stack *s)
//壓棧
int push(struct stack *s,int data)
++(s->top);
s->stk[s->top]=data;
return 0;
}//出棧
int pop(struct stack *s)
temp=s->stk[s->top];
--(s->top);
return temp;
}
亦可以用鍊錶實現棧,後續補上。
//棧的宣告
struct stack
//壓棧
int push(struct stack *s,elementtype edata)
//出棧
//s 為棧頂指標
int pop(struct stack *s)
C語言經典面試試題
c語言經典面試試題 1 區域性變數能否和全域性變數重名?答 能,區域性會遮蔽全域性。要用全域性變數,需要使用 區域性變數可以與全域性變數同名,在函式內引用這個變數時,會用到同名的區域性變數,而不會用到全域性變數。對於有些編譯器而言,在同乙個函式內可以定義多個同名的區域性變數,比如在兩個迴圈體內都定義...
用C 語言實現鏈表面試題
include include include include using namespace std typedef int datatype typedef struct node node,pnode,plist void init plist head void pushback plist...
用C語言實現鏈式棧介紹
目錄 堆疊是只能在一端增刪元素的表結構,該位置稱為棧頂堆疊的基本運算是壓入和彈出,前者相當於插入,而後者則是刪除最後插入的元素,形成後進先出的運算規則最後插入的元素在被彈出之前可以作為棧頂被外界訪問從空棧中彈出,或向滿棧中壓入,都被認為是一種錯誤 順序棧鏈式棧 include include 節點的...