Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1146376
  • 博文数量: 103
  • 博客积分: 1897
  • 博客等级: 上尉
  • 技术积分: 1717
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-19 21:02
文章分类

全部博文(103)

文章存档

2013年(19)

2012年(84)

分类: C/C++

2012-10-03 14:44:23

栈是一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照后进先出的储存数据,先进入的数据被压入栈底,需要的时候,从栈顶开始弹出数据。
栈包括了一些基本的操作,其中有出栈,入栈,取栈顶元素,判断栈是否为空等基本操作。
栈对应的数据结构如下:

typedef struct
{
ElementType data[MAXSIZE];
int top;//栈顶指针,默认是-1
}stack
int empty(stack * s){
return s->top == -1?0:1;
}
int push(stack *s,elementType e){
  if(s->top  == MAXSIZE-1)
return 0 //栈满不能入栈
else{
s->top++;
s->data[s->top] = x;
return 1;
}
}

//出栈
int pop(stack *s,ElementType x){

if(empty(s)){
return 0;
}{
*x = s->data[s->top];
s->top--;
return 1;
}

}

阅读(767) | 评论(0) | 转发(0) |
0

上一篇:操作系统概念---原语

下一篇:进程和线程

给主人留下些什么吧!~~