奉上源**
#ifndef status_h
#define status_h
#define yes 1
#define no 0
typedef
int status;
typedef
int selemtype;
#endif
#ifndef listh
#define listh
#include
"status.h"
typedef
struct node
lnode;
typedef
struct
sqstack;
/*(1)初始化棧 initstack(s)
(2)入棧 push(s,item)
(3)出棧 pop(s,item)
*/void
initstack
(sqstack *p)
; status push
(sqstack *p,selemtype e)
;int
count
(sqstack *p)
; status pop
(sqstack *p,selemtype *e)
;int
gettopvalue
(sqstack *p)
;#endif
#include
"stdio.h"
#include
"stack.h"
//初始化棧
void
initstack
(sqstack *p)
//進棧 (頭插法)
status push
(sqstack *p,selemtype e)
//棧內元素的個數
intcount
(sqstack *p)
//出棧
status pop
(sqstack *p,selemtype *e)
//取棧頂元素
intgettopvalue
(sqstack *p)
#include
"stack.h"
#include
intmain()
g=l->top;
printf
("此時棧中的元素為:");
for(i=
0;i)printf
("\n***************===獲取棧內元素的個數***************===\n");
printf
("此時棧內元素的個數為:%d\n"
,count
(l))
;printf
("***************===出棧***************===\n");
//棧頭出棧
pop(l,
&value)
;printf
("出棧的元素為:%d\n"
,value)
;printf
("出棧後棧中的元素為:");
g=l->top;
for(
;g!=
null
;g=g->next)
printf
("%d "
,g->date)
;printf
("\n***************===取棧頂元素***************===\n");
printf
("棧頂元素為:%d"
線性資料結構 棧的順序儲存結構
堆疊最基本的特徵就是先進後出,後進先出 通常是由乙個一維陣列和乙個記錄棧頂元素位置的變數組成。typedef int position struct snode typedef struct snode stack stack createstack int maxsize bool isfull ...
資料結構之線性結構 棧 順序儲存
棧是一種受限的線性表,它規定只能夠在表的尾部進行插入和刪除,我們把允許插入和刪除元素的一端稱為棧頂,而另一段稱為棧底,沒有任何元素的元素棧稱為空棧。棧中的元素進出的規則為先入後出,即先進入棧的元素後出棧而後進入棧的元素先出棧。在對棧棧中的元素進行操作時只能夠操作棧頂的元素。棧中儲存元素的三種狀態 當...
資料結構之佇列的線性儲存結構(C語言)
如下 include include include include define maxsize 10 typedef int elemtype typedef struct queue 初始化操作,建立乙個空佇列q void initqueue queue q 若佇列q存在,則銷毀他 void ...