数据结构遍历顺序栈_数据结构和算法-栈结构

栈的定义

栈是一种后进先出的数据结构。

栈是限制插入和删除只能在一个位置上的线性表。允许删除和插入的一端位于表的末端,叫做栈顶。不允许删除和插入的另一端叫做栈底。对栈的基本操作有push(压栈)和pop(出栈)。

图示:

数据结构遍历顺序栈_数据结构和算法-栈结构_第1张图片

栈的实现

栈的实现主要包括两种方式:顺序栈和链表栈。

顺序栈

使用数组来实现。

缺点:

需要提前声明一个数组大小。如果数组不够大,就有可能发生越界问题。如果数组过大,则可能浪费一定的空间。

栈的定义实现:

typedef int Status;

typedef int ElemType;

typedef struct{

ElemType data[MAXSIZE];

int top;

}SqStack;

复制代码

初始化一个空栈

Status InitStack(SqStack *S){

S->top = -1;

return OK;

}

复制代码

将栈置空

Status ClearStack(SqStack *S){

S->top = -1;

return OK;

}

复制代码

你可能感兴趣的:(数据结构遍历顺序栈)