龙空技术网

数据结构导论--算法总结--栈

额额图 201

前言:

今天朋友们对“算法导论数据结构问题”可能比较讲究,小伙伴们都需要剖析一些“算法导论数据结构问题”的相关知识。那么小编也在网摘上收集了一些有关“算法导论数据结构问题””的相关知识,希望咱们能喜欢,小伙伴们一起来学习一下吧!

栈的顺序实现

存储结构 用一组连续的存储单元依次存放栈中的每个元素,并用始端作为栈底。栈的顺序实现叫顺序栈。

栈的特性:是先进后出。与队列相对,队列是先进先出。

定义:

1.初始化

2.判栈空

3.进栈

4.出栈

5.取栈顶元素

为了节省空间,让两个数据类型一致的栈共享一个一维数组空间,称为双栈。两个栈底分别在数组的两端,彼此迎面“增长”,仅当中间相遇时 (top1+1=top2)才发生上溢 栈满,top1==0时栈1为空栈,top2=max - 1时 栈2为空栈。

双栈数据结构定义:

const int max = 100;//双栈容量

typeof struct dbStack{

DataType data[max];

int top1,top1;

}DbStk;

栈的链接实现

栈的链接实现称为链栈。可以用头结点的单链表来实现,首节点是栈顶元素,未结点未栈底元素。

定义

1.初始化

2.判栈空

3.入栈

4.出栈

5. 获取栈顶元素

下期继续更新,队列.

标签: #算法导论数据结构问题