首先定義乙個棧的結構體
#define max_size 100
typedef int datatype;
typedef struct stack
stack;
// 棧的初始化
void stackinit(stack* ps);
//列印鍊錶
void stackprint(stack*ps);
// 入棧
void stackpush(stack* ps, datatype data);
// 出棧
void stackpop(stack* ps);
// 獲取棧頂元素
datatype stacktop(stack* ps);
// 獲取棧中元素個數
int stacksize(stack* ps);
// 檢測棧是否為空
int stackempty(stack* ps);
//清空棧
stack clearstack(stack*ps);
//銷毀棧
stack destroystack(stack *s);
1.棧的初始化
2.棧的插入void stackinit(stack* ps)
ps->top = 0;
return;
}
3.出棧void stackpush(stack* ps, datatype data)
if (max_size == ps->top)
else
return;
}
4.獲取棧頂元素void stackpop(stack* ps)
5.獲取棧中元素個數datatype stacktop(stack* ps)
6.檢測棧是否為空int stacksize(stack* ps)
7.列印棧int stackempty(stack* ps)
8.清空棧void stackprint(stack*s)
printf("\n");
return;
}
9.銷毀棧stack clearstack(stack*ps)
stack destroystack(stack *ps)
棧 的基本操作。
include include typedef struct node node,pnode typedef struct stack stack,pstack void initialize pstack mystack 棧的初始化。int push stack pstack mystack,in...
棧的基本操作
描述 棧是一種重要的資料結構,它具有push k和pop操作。push k是將數字k加入到棧中,pop則是從棧中取乙個數出來。棧是後進先出的 把棧也看成橫向的乙個通道,則push k是將k放到棧的最右邊,而pop也是從棧的最右邊取出乙個數。假設棧當前從左至右含有1和2兩個數,則執行push 5和po...
棧的基本操作
下面先實現站的基本功能,最後通過乙個test來測試下方法是否實現 建個.c檔案 typedef struct seqstack 初始化 seqstack seqstackinit return null 判斷棧是否為空 int seqstackisempty seqstack s void seqs...