Chinaunix首页 | 论坛 | 博客
  • 博客访问: 780208
  • 博文数量: 231
  • 博客积分: 3217
  • 博客等级: 中校
  • 技术积分: 2053
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-04 12:01
文章分类

全部博文(231)

文章存档

2015年(1)

2013年(10)

2012年(92)

2011年(128)

分类: C/C++

2012-09-20 14:42:02

栈是限定仅在表尾部进行插入和删除操作的线性表
允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom),不含有任何数据元素的栈称为空栈。栈又称为后进先出的线性表。
结构定义:

点击(此处)折叠或打开

  1. typedef int SElemType;
  2. typedef struct
  3. {
  4. SElemType data[MAXSIZE];
  5. int top;
  6. }SqStack;
插入元素e为新的栈顶元素:

点击(此处)折叠或打开

  1. Status Push(SqStack *s,SelemType e)
  2. {
  3. if(S->top==MAXSIZE-1)
  4. {
  5. return ERROR;
  6. }
  7. s->top++;
  8. s-data[s->top]=e;
  9. return OK;
  10. }


出栈操作pop:
Status Pop(SqStack *s,SElemType *e)
{
if(s->top==-1)
{return ERROR;}
*e=s->data[s->top];
s->top--;
return OK;
}
阅读(697) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~