在C++语言中,什么是队列
展开全部
这个问题么。根据自己的理解说一下吧。
数组跟队列在刚接触的时候确实很容易想到一起去。虽然我很想上来就解释这个,但是事实上是不行的。因为,你首先要明白一个概念。链表,顺序表,队列,栈,他们是什么关系。
链表,顺序表,是数据的一种数据的存放形式,页就是说,链表上个节点会有指针让你找到下个节点,他们不需要在内存中连续存放,顺序表则需要连续存放,第一个节点的位置决定了以后节点的位置。
而所谓队列,跟栈,是一个数据的逻辑概念,逻辑概念主要指的是数据能进行的操作。比如队列先进先出,栈后进先出。
更直观说,我们想要用的,是队列或者栈,由于真正运行需要在机器上运行,需要放入内存,因此我们要用链表或者顺序表实现队列或者栈。因此有顺序队列,链表队列,顺序栈,链表栈。
最后说你的困惑,你之所以吧队列跟数组联系到一起,那么你现在理解的队列,是顺序队列。他们的关系是什么呢,首先数组是语言的东西,队列是数据结构的东西。然后,如果你在C++里面实现书序队列,那么,你可以理解成,数组就是顺序数组(其实没有链表数组),它跟顺序队列,书序栈,顺序二叉树等等,是平行的概念。
数组跟队列在刚接触的时候确实很容易想到一起去。虽然我很想上来就解释这个,但是事实上是不行的。因为,你首先要明白一个概念。链表,顺序表,队列,栈,他们是什么关系。
链表,顺序表,是数据的一种数据的存放形式,页就是说,链表上个节点会有指针让你找到下个节点,他们不需要在内存中连续存放,顺序表则需要连续存放,第一个节点的位置决定了以后节点的位置。
而所谓队列,跟栈,是一个数据的逻辑概念,逻辑概念主要指的是数据能进行的操作。比如队列先进先出,栈后进先出。
更直观说,我们想要用的,是队列或者栈,由于真正运行需要在机器上运行,需要放入内存,因此我们要用链表或者顺序表实现队列或者栈。因此有顺序队列,链表队列,顺序栈,链表栈。
最后说你的困惑,你之所以吧队列跟数组联系到一起,那么你现在理解的队列,是顺序队列。他们的关系是什么呢,首先数组是语言的东西,队列是数据结构的东西。然后,如果你在C++里面实现书序队列,那么,你可以理解成,数组就是顺序数组(其实没有链表数组),它跟顺序队列,书序栈,顺序二叉树等等,是平行的概念。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询