码迷,mamicode.com
首页 > 其他好文 > 详细

数据结构之进栈出栈操作

时间:2017-05-13 22:10:13      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:exit   type   eof   pst   循环   ini   sizeof   方式   进栈出栈   

先建立一个结构体节点:

typedef struct Node{

    int member;

 struct Node *pNext;

}Node,*pNode;

创建一个栈:

typedef struct stack{

 pNode Top;

 pNode Bot;

}Stack,*pStack;

 

//初始话栈内部

void Init_stack(pStack ps)

{

ps->Top= (pNode)malloc(sizeof(Node));

if (NULL == ps->Top)

exit(-1);

ps->Bot = ps->Top; 

ps->top->pNext = NULL;

}

 

 

//进栈操作

int Instack(pStack ps ,int data)

{

pNode pNew = (pNode)malloc (sizeof(Node));

pNew->member = data;

pNew->pNext = ps->Top;

ps->Top = pNew; //可以把它想象成一个书盒,然后你一本书一本书的朝里面放书

}

 

//出栈操作

//出栈操作需要释放空间

int Exit_Stack(pStack ps)

{

int m;

pNode pDel =(pNode)malloc(sizeof(Node));

pDel->member = ps->Top ->member ;

m = pDel->member

if (ps->Top == ps->Bot)

exit(-1);   

pDel = ps->Top ;

ps->Top = ps->Top->pNext;

free(pDel);

return m;

}

 

//栈的遍历

int Tracestack(pStack ps)

{

if (ps->Top == ps->Bot)

exit(-1);

while (NULL != ps->Top->Next )

{

printf(“ps->Top->member=%d",ps->Top->member);

ps->Top = ps->Top->pNext;

}

return 0;

}//也可以用栈底不等于栈顶的方式来循环

 

数据结构之进栈出栈操作

标签:exit   type   eof   pst   循环   ini   sizeof   方式   进栈出栈   

原文地址:http://www.cnblogs.com/bglia/p/6850412.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!