数据结构---栈

245 阅读1分钟

一.栈的顺序存储

顺序栈的定义:
顺序栈的定义

1.构建一个空的栈:

默认top = -1;表示是空栈

2.栈置空

直接让栈顶置为空就行

3.判断一个栈是否为空

查询不修改 所以不用传地址

4.栈的长度

不需要判断是否为空

5.获取栈顶元素

6.压栈(入栈)

首先判断是否满栈

7.出栈

先拿到栈顶元素,然后top-1

8.栈的遍历

main函数调用

传地址是因为要修改(&s)

二.栈的链式实现

(和顺序实现,特性不变的,只是存储方式不一样) (栈顶永远指向栈顶元素)

1.构建空栈

2.置为空栈

3.判断栈是否为空

4.获取栈顶元素

5.压栈(push)

压栈的时候,完了之后把栈顶元素的next指向top,接住。同时更新top,count++;

5.出栈(pop)

首先判断是否为空

6.栈的遍历

作业:

如何基于顺序存储/链式存储的不同角度下设计一个栈结构?