数据结构:简单记录顺序表、链表、栈、队列

初学者很容易认为顺序表、链表、栈、队列是四种并列的数据结构,其实仔细想想并不是。

注意区分:

顺序表和链表是指数据的存储结构,是线性表的一种,顺序表一般指的就是数组,数据存储的逻辑顺序和物理顺序都是连续的,链表的数据在逻辑上是连续的,但是物理上并不是连续的。

而栈和队列应该算是一种数据的存取逻辑,栈是中先进后出的逻辑,队列是先进先出的逻辑;

栈这种数据存取的逻辑结构可以用顺序表这种数据存储结构来实现,也可以用链表来实现;同样的,队列可以用顺序表来实现,也可以用链表来实现。

一般的,我们的业务需求可能是需要一个栈或者一个队列,比如函数的入栈和出栈,就需要栈这种逻辑结构,比如操作系统中任务的调度,常常就需要用到队列这种逻辑结构;

那么,这两种逻辑结构是怎么来实现的?可以用顺序表或者链表。

由此我们可以看到,这里可以进行组合。

顺序表实现的栈,也就是顺序栈;

链表实现的栈,也就是链栈;

顺序表实现的队列,也就是顺序队列;

链表实现的队列,也就是链队列;

另外,链表还可以分为单链表,支持单向检索,双链表,支持双向检索,单向循环链表,支持到末尾后又回到开头,双向循环链表,支持顺时钟转和逆时钟转;

从另一个方面来考虑,我们可以把顺序表和链表理解成栈和队列的驱动,顺序表和链表,通常都会封装出增删改查等具体操作,然后栈和队列调用这些函数来实现业务中数据的存取逻辑。

等等。

这些具体是怎么回事呢?接下来分别记录一下。

顺序表

类似的内容很多,直接参考这篇吧

【数据结构】——顺序表介绍(独家介绍,小白必看!!)-CSDN博客

链表

类似的内容很多,直接参考这篇吧

单链表

【数据结构】——单链表超详细介绍(独家介绍,小白必看!!!)-CSDN博客

类似的内容很多,直接参考这篇吧

数据结构之——栈_数据结构栈_WenJieya的博客-CSDN博客

队列

类似的内容很多,直接参考这篇吧

【数据结构之队列系列】队列详解_结构体队列-CSDN博客

你可能感兴趣的:(数据结构,链表)