注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

告别迷茫

梦想与现实的差距,就是我们生活的意义。因为我们有差距,我们才会一直积累,在努力。

 
 
 

日志

 
 

4-3栈的链式储存  

2014-04-09 16:03:08|  分类: 陈明数据结构代码 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

#include<stdio.h>

#include<stdlib.h>


typedef struct node
{
int data;
struct node *next;
}linkstack;
linkstack *top;//top 是栈顶的指针,它唯一确定一个栈的链栈,当TOp的NULL 时为一个空栈;
//(1) 进栈的操作


linkstack *Pushlinkstack(linkstack *top,int w)
{//将指针TOP的值写入P结点的指针域,使原栈顶的结点为新写进的结点p的直接后继结点,栈顶指针改为指向p结点;
linkstack *p;
p=(linkstack *)malloc(sizeof(node));
p->data=w;
p->next=top;//使原栈顶的结点为新写进的结点p的直接后继结点{p}->{top;}
top=p;
return p;//返回新的栈顶指针!
}

//(2) 出栈的操作;
linkstack *Pushlinkstack(linkstack *top,int *x)//删除恋栈的top的栈顶结点,让x指向栈顶结点的值,返回新的栈顶的指针;
{
linkstack *p;
if(top==NULL)
{
printf(" 空栈啊!");
return NULL;
}
else
{
*x=top->data;
p=top;
top=top->next;
free(p);//删除恋栈的top的栈顶结点,必须得很好的记住啊!
return top;
}

}
//(3)栈置空;
void Initstack(linkstack *s)
{
s=NULL;
}
//(4) p判断是否为空
int StackEmpty(linkstack *s)
{
if(s==NULL)
return true;
return false;
}
//(5) 取栈顶的元素
int StackTop(linkstack *s)
{
if(StackEmpty(s))
{
printf(" kong kong de ");
return NULL;
}
return s->data;
}



  评论这张
 
阅读(3)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017