棧
#include
#include
#include
#define true 1
#define false 0
#define ok 1
#define error 0
#define overfloaw -1
#define length 5
typedef
struct stack
stack;
typedef
int status;
typedef
int elemtype;
//初始化棧
status initialstack
(stack& s,
int size)
s.top =0;
s.size = size;
return ok;
}//銷毀棧
status destorystack
(stack& s)
//判斷是否為空
status isempty
(stack& s)
else
}//清空棧
void
clearstack
(stack& s)
s.top =0;
s.size =0;
}//元素進棧
status pushstack
(stack& s, elemtype e)
s.element = newbase;
s.size++;}
s.element[s.top++
]= e;
return ok;
}//取棧頂的元素並返回
elemtype gettop
(stack& s,elemtype &e)
e = s.element[s.top -1]
;return e;
}//出棧並返回
status popstack
(stack& s, elemtype& e)
e = s.element[
--s.top]
;return e;
}int
main()
; size = length;
printf
("待測試元素為\n");
for( i =
0; i < length; i++
)printf
("\n");
if(!initialstack
(s,size)
)printf
("已初始化順序棧\n");
//入棧
for(i =
0; i < s.size; i++)}
printf
("已入棧\n");
//取棧頂的元素
printf
("棧頂元素為%d"
,gettop
(s, e));
//棧頂出棧
printf
("出棧元素為\n");
for(i =
0; i < s.size; i++
)printf
("\n");
clearstack
(s);
printf
("已清空棧\n");
return0;
}
根據top的位置來確定棧頂,通過改變top的位置來定位棧頂;
下面是實現結果
待測試元素為12
345已初始化順序棧
已入棧棧頂元素為5出棧元素為54
321已清空棧
資料結構 棧的實現(C語言)
棧的實現 棧的結構可以是基於陣列的。它擁有兩個基本操作 出棧和入棧。而實現操作需要乙個 top 表示頂點。很簡單 上 include define maxsize 20 typedef int elemtype typedef int status typedef struct sqstack st...
資料結構 C語言棧的實現
首先,我們要先回顧乙個知識,對於後面棧的學習會好理解點,如果我們在main 函式中定義了乙個變數 int a 需要在乙個自定義的函式中改變其值,要怎麼操作?include stdio.h include stdlib.h intmain intadd int a 我會首先想到這種方法,將改變後的值r...
C語言資料結構 棧實現迷宮
include define max 30 typedef struct box typedef struct stack int map 10 10 int search int beginx,int beginy,int endx,int endy else return 1 find 0 wh...