首页 > 其他 > 详细

基本数据结构,栈的顺序实现。

时间:2015-10-29 23:03:43      阅读:307      评论:0      收藏:0      [点我收藏+]

栈是一种先进后出的数据结构,可以用顺序结构和链式结构存储栈,这里我用顺序结构实现其基本功能。

下面是栈的基本操作:

1.首先用结构体类型定义一个栈,包含数据域和栈顶指针,定义其最大容量为1000。

1 //栈的结构定义
2 #define MAXSIZE 1000
3 typedef struct{
4     int data[MAXSIZE];
5     int top;
6 }Stack;

2.创建一个栈,让其栈顶指针指向第一个元素的前面一个位置。

1 //栈的初始化
2 void CreateStack(Stack *S){
3     S->top = -1;
4 }

3.压栈,栈顶指针上移,如果空间不足,栈溢出;否则将元素更新到栈顶。

 1 //压栈,成功返回1,失败返回0。
 2 int PushStack(Stack *S,int e){
 3     S->top++;
 4     if (S->top==MAXSIZE){
 5         printf("栈上溢"); 
 6         return 0;
 7     }
 8     S->data[S->top] = e;
 9     return 1;
10 }

4.弹栈,如果栈空,栈下溢;否则将栈顶元素返回,栈顶指针下移。

1 //栈的弹出 
2 int PopStack(Stack *S){
3     if (S->top==-1){
4         printf("栈下溢"); 
5         return 0;
6     }
7     return S->data[S->top--];
8 }

 

基本数据结构,栈的顺序实现。

原文:http://www.cnblogs.com/tanxing/p/4921931.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!