【数据结构基础】栈--顺序存储结构
2015-01-07 21:40
417 查看
栈是限定仅在表尾进行插入和删除操作的线性表。
栈的结构定义:
进栈:
出栈:
栈的结构定义:
typedef int SElemType; /* SElemType类型根据情况而定,这里假设为int */ typedef struct { SElemType data[MAXSIZE]; int pop; /* 栈顶指针 */ }SqStack;
进栈:
/* 插入元素e为新的栈顶元素 */ Status Push( SqStack *S, SElemType e ) { if( S->top == MAXSIZE - 1 ) /* 栈满 */ { return ERROR; } S->top++; /* 栈顶指针增加1 */ S->data[S->top] = e; /* 将新插入元素赋值给栈顶空间 */ return OK; }
出栈:
/* 若栈不为空,则删除S的栈顶元素,用e返回其值,并返回OK,否则返回ERROR */ Stack Pop( SqStack *S, SElemType *e ) { if( S->top == -1 ) return ERROR; *e = *S->data[S->top]; /* 将要删除的栈顶元素赋值给e */ S->top--; /* 栈顶指针减1 */ return OK; }
相关文章推荐
- 【数据结构基础】线性表的顺序存储结构
- 数据结构基础 - 链表内节点的删除
- 学习STL map, STL set之数据结构基础
- 学习STL map, STL set之数据结构基础(转)
- 学习STL map, STL set之数据结构基础
- 学习STL map, STL set之数据结构基础
- 数据结构基础 - 链表的创建(C和C#代码)
- yaffs基础第一篇——yaffs中的核心数据结构
- 学习STL map, STL set之数据结构基础
- 编程基础:深入分析Java中的数据结构
- 并发基础 -- 无锁(lock-free)数据结构
- 学习STL map, STL set之数据结构基础zz
- 学习STL map, STL set之数据结构基础
- 数据结构基础
- 学习STL map, STL set之数据结构基础
- 学习STL map, STL set之数据结构基础
- 学习STL map, STL set之数据结构基础
- 学习STL map, STL set之数据结构基础
- 学习STL map, STL set之数据结构基础
- Java基础之数据结构