数据结构 —— 队列、栈、链表的区别

一、定义

1.1、队列

队列,顾名思义,就像排队一样,排在队首的人,可以先领东西,后面的人,只能等前面人领过后才轮到自己。
队列是一种先进先出(FIFO)的数据结构。

1.2、栈

栈,可以理解为 只有一个口的容器 ,先放进去的东西最后才能被拿出来。
(比如说纸箱就是一个栈,向里面放书,先放进去的在底部,后放进去的在上面。使用时,只能先取最上面的书,而最先放进去的书,只能在最后取出)

栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出 (FILO) 的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。

1.3、链表

链表: 是由一连串 节点 组成。 学习链表之前,先了解 节点

1.3.1 节点

节点 有两部分组成,一部分是数据值,另一部分是指向下一节点的引用。

节点结构如下所图:
在这里插入图片描述
节点 是数据结构中的基础,是 构成复杂数据结构的基本组成单位。

1.3.2 链表

链表: 通常由一连串 节点 组成,每个节点包含任意的实例数据和用来指向 下一个 节点的位置的引用。

在这里插入图片描述

二、区别

2.1、队列

队列 是一种数据结构,其特点是先进先出,后进后出,只能在队首操作(比如删除、读取等),在队尾增加。
队列的存储方式 既可以使用 线性表 进行存储,也可以使用 链表 进行存储。

2.2、栈

栈 是一种数据结构 ,只能在 一端 进行操作,如插入和删除等操作 ,按照先进后出 (FILO)的原则存储数据。

2.3、链表

链表 ,是一种数据的存储方式(与其对应的是 顺序存储 结构),存储的数据在内存中 不连续的 ,用 指针 对数据进行访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值