数据结构·极简(1)栈与队列

本文介绍了数据结构中的栈和队列的基础知识,包括它们的理解模型、STL实现以及典型的应用实例。栈遵循LIFO(后进先出)原则,常用操作有push、pop、top和empty。队列则遵循FIFO(先进先出)原则,主要操作有push、front、back和empty。通过理解这些基本数据结构,可以更好地理解和应用在编程中。
摘要由CSDN通过智能技术生成

一,目录

一,目录

二,绪论

三,栈

1,理解模型

2,系统实现

 3,应用实例

四,队列

1,理解模型

2,系统实现

3,应用实例

二,绪论

1,极简说明:数据结构在使用时,浅尝即止做法,本系列仅仅给出一些数据结构结合STL库的操作,并不能给出系统学习,但可以作为参考,提纲或是翻阅的简单目录;

2,本系列大致按这三步学习:1、理解模型;2、系统实现;3、应用实例。

3,本系列文章采取部分网上资料,由于整理时间过久,在这里对所引用的作者表示歉意;

4,本系列文章一些具体操作会慢慢更新,由于作者知识浅薄,如有错误,还请斧正。

三,栈

1,理解模型

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

栈的另一个名字是 LIFO(先进后出)表。普通的清空栈的操作和判断是否空栈的测试都是栈的操作指令系统的一部分,我们对栈能做的基本上也就是 push 和 pop 操作。

2,系统实现

(1)stack是STL实现的一个后进先出的容器;使用时:①加头文件include<stack>;②加上using namespace std;

(2)具体定义:Stack<Type> stack = new Stack<Type>();//类型为Type

(3)具体操作:

*说明(1):name为定义的一个栈名;element为操作的元素;

①name.push(element)  将元素压入栈——入栈

②name.pop()   将元素弹出栈——出栈

③name.top()   获得栈顶元素值

④name.empty()      判断栈是否为空

*说明(2):

  1. 由于栈的特性,最先入栈的元素最后出栈;
  2. top函数只能读取数值,不做其他操作;
  3. empty返回true为空,false为非空; 

 3,应用实例

四,队列

1,理解模型

使用队列时插入在一端进行而删除在另一端进行,遵守先进先出的规则。故队列的另一个名字是(FIFO)。STL 中实现了一个先进先出的容器。

2,系统实现

(1)queue是STL实现的一个先进先出的容器;使用时:①加头文件include<queue>;②加上using namespace std;

(2)具体定义:Queue<Type> queue = new LinkedList<Type>();//类型为Type

(3)具体操作:

①name.push(element)  将元素归入队列——入队

②name.front()       读取队首元素值

③name.back()   读取队尾元素值

④name.empty()       判断队列是否为空

⑤name.pop()         将队首元素删除

3,应用实例

———————————————————————————————————————————

码字不易,如果我的文章对您有所帮助,请让您的三连给予我力量!!!不胜感激~

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA54-66Zm2,size_8,color_FFFFFF,t_70,g_se,x_16

———————————————————————————————————————————

1.1上传于2022/3/8  

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值