数据结构与算法分析之表、栈和队列(二)

举报
嵌入式与Linux那些事 发表于 2022/03/28 22:54:36 2022/03/28
【摘要】 1.栈的概念 栈(stack)是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈的顶(top)。对栈的基本操作有Push(进栈)和Pop(出栈),前者相当于插入,后者则是删除最后插入的元素。栈有时叫做后进先出(LIFO Last In First Out)表。 2.ElementType 数据结构是讨论抽象的数据存...

1.栈的概念

栈(stack)是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈的顶(top)。对栈的基本操作有Push(进栈)和Pop(出栈),前者相当于插入,后者则是删除最后插入的元素。栈有时叫做后进先出(LIFO Last In First Out)表。

2.ElementType

数据结构是讨论抽象的数据存储和算法的,一种结构中元素的类型不一定是整型、字符型、浮点型或者用户自定义类型,为了不重复说明,使用过程中用“ElementType”代表所有可能的数据类型,简单明了的概括了整体。在算法中,除特别说明外,规定ElementType的默认是int型。

3.两个stack的理解问题

4.尾递归虽然编译器可以自己优化,但是最好不要使用尾递归。

5.队列的概念

队列的基本操作是Enqueue(入队),它是在表的末端(叫做队尾(rear))插入一个元素,还有Dequeue(出队),它是删除(或返回)在表的开头(叫做队头(front))的元素。

6. 栈和队列的区别

栈的插入和删除操作都是在一端进行的,而队列的操作却是在两端进行的。

栈是先进后出,队列是先进先出。

栈只允许在表尾一端进行插入和删除,队列只允许在表尾一端进行插入,在表头一端进行删除。

7.怎么理解下图

 

本文参考《数据结构与算法分析-C语言版》

文章来源: blog.csdn.net,作者:嵌入式与Linux那些事,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_16933601/article/details/100103420

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。