基础数据结构--背包,队列,栈

抽象数据类型(ADT):泛指除基本数据类型以外的数据类型。什么叫类型?就是一类数据。基本数据类型被认做是最基本的,不可再划分的数据类型,一般就是整型、浮点型、以及字符型等。抽象数据类型是由若干基本数据类型归并之后形成的一种新的数据类型,这种类型由用户定义,功能操作比基本数据类型更多,一般包括结构体和类。其实说白了,抽象数据类型就是把一些有一定关联的基本数据类型打包,然后当做新的数据类型使用
背包(Bag),队列(Queue)和栈(Stack)都属于集合类抽象数据类型,它们的不同之处在于删除或访问对象的顺序不同,下面简单总结下这三种数据类型:

背包(Bag):是一种不支持从中删除元素的集合数据类型,它的目的就是帮助用例收集元素并迭代遍历所有收集到的元素,使用背包就说明元素的处理顺序不重要,可以想象一个背包,往里面放了N个小球,在取球的时候手伸进背包是随机取出来的,通常这样的数据结构用来进行计算平均值等对元素顺序没有要求的算法;
API:
背包的API结构
队列(Queue):是一种先进先出(FIFO)的集合数据类型,联想隧道通车和各种排队场面,先进入队列,则先出队列,后进入就后出队列;
API:
队列的API结构
栈(Stack):是一种后进先出(LIFO)的集合数据类型,联想桌上的一叠文件,总是先取最上面的,依次往下取,当有新的文件的时候总是放在最上面。电子邮件收件箱就是一个类似栈的结构:在收件时将邮件压入(push)最顶端,在取信是从最顶端弹出(pop);
API:
栈的API结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值