//鏈表
typedef struct NODE
{
int data;//數(shù)據(jù)域
struct NODE * next;//指針域
}* Node;
//棧
typedef struct STACK
{
Node top;//棧頂
Node bottom;//棧底
} * Stack;
//初始化
Stack init_stack();
//入棧
void push_stack(Stack stack,int data);
//出棧
void pop_stack(Stack stack,int * pData);
//遍歷
void traverse_stack(Stack stack);
//清空
void clear_stack(Stack stack);
int main(int argc, const char * argv[]) {
Stack stack = init_stack();
push_stack(stack, 1);
push_stack(stack, 2);
push_stack(stack, 3);
push_stack(stack, 4);
// traverse_stack(stack);
// pop_stack(stack, NULL);
// traverse_stack(stack);
clear_stack(stack);
return 0;
}
//初始化
Stack init_stack()
{
Stack stack = (Stack)malloc(sizeof(Stack));
stack->top = (Node)malloc(sizeof(Node));
if (stack->top == NULL) {
printf("分配內(nèi)存失敗");
exit(-1);
}else
{
stack->bottom = stack->top;
stack->top->next = NULL;
}
return stack;
}
//入棧
void push_stack(Stack stack,int data)
{
Node new = (Node)malloc(sizeof(Node));
new->data = data;
//每次新建節(jié)點指向棧頂
new->next = stack->top;
//棧頂指向新節(jié)點
stack->top = new;
}
//出棧
void pop_stack(Stack stack,int * pData)
{
if (stack->top == stack->bottom) {
printf("已經(jīng)是空棧,不能出棧");
exit(-1);
}
pData = &stack->top->data;
Node p = stack->top;
stack->top = p->next;
free(p);
p = NULL;
}
//遍歷
void traverse_stack(Stack stack)
{
Node p = stack->top;
while (p != stack->bottom) {
printf("%d ",p->data);
p = p->next;
}
printf("\n");
}
//清空
void clear_stack(Stack stack)
{
if (stack->top == stack->bottom) {
return;
}else
{
Node p = stack->top;
Node q;
while (p != stack->bottom) {
q = p->next;
free(p);
p = q;
}
stack->top = stack->bottom;
}
}
棧的鏈式存儲結(jié)構(gòu)
最后編輯于 :
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門轻绞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來采记,“玉大人,你說我怎么就攤上這事政勃∵罅洌” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵奸远,是天一觀的道長既棺。 經(jīng)常有香客問我讽挟,道長,這世上最難降的妖魔是什么丸冕? 我笑而不...
- 正文 為了忘掉前任戏挡,我火速辦了婚禮,結(jié)果婚禮上晨仑,老公的妹妹穿的比我還像新娘。我一直安慰自己拆檬,他們只是感情好洪己,可當我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著竟贯,像睡著了一般答捕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上屑那,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼姥份!你這毒婦竟也來了郭脂?” 一聲冷哼從身側(cè)響起,我...
- 正文 年R本政府宣布幕与,位于F島的核電站,受9級特大地震影響镇防,放射性物質(zhì)發(fā)生泄漏啦鸣。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一来氧、第九天 我趴在偏房一處隱蔽的房頂上張望诫给。 院中可真熱鬧,春花似錦啦扬、人聲如沸中狂。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽胃榕。三九已至,卻和暖如春瞄摊,著一層夾襖步出監(jiān)牢的瞬間勋又,已是汗流浹背。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 太長了端铛,還是轉(zhuǎn)載吧...今天在看博客的時候,無意中發(fā)現(xiàn)了@Trinea在GitHub上的一個項目Android開源...
- Android中國開發(fā)精英目前包括: Android開源項目第一篇——個性化控件(View)篇 包括ListV...
- 得到《超級個體》欄目今天談及的是“短板已死疲眷、優(yōu)勢永生”的話題禾蚕,投資長板與優(yōu)勢對人生的發(fā)展而言至關重要。與此同時狂丝,也...
- 是不是又想辭職了呢?這次又是為了什么呢蛋哭?為了錢县习?為夢想? 這個時代具有巨大的包容性和不確定性,90后的我們是十分有...