首页 > 其他分享 >关于 顺序表、单链表、双链表、栈、队列的小总结

关于 顺序表、单链表、双链表、栈、队列的小总结

时间:2024-10-26 21:20:44浏览次数:9  
标签:单链 定义 队列 顺序 双链 指针 结构

1.结构的定义方式

- 顺序表:以结构体指针方式定义
在这里插入图片描述

- 链表:以结构体自引用方式定义
在这里插入图片描述

- 栈:个人推荐使用结构体指针方式定义(类似顺序表)
在这里插入图片描述

- 队列:以结构体指针 + 结构体自引用方式实现
在这里插入图片描述

2.对顺序表、单链表、双链表的小小对比

  • 顺序表:尾插、尾删操作更方便(对头操作的话需要移动数据)

    注:(这也是我推荐栈用类似顺序表结构定义(底层是数组)的原因,栈利用数组尾插代价较小)

  • 单链表:头插、头删操作更方便(对尾巴操作的话需要找尾)
  • 双链表:都方便。

标签:单链,定义,队列,顺序,双链,指针,结构
From: https://blog.csdn.net/2301_81298637/article/details/143259755

相关文章

  • 延迟队列的安装步骤
    RabbitMQ中的延迟队列(DelayedQueue)是一种特殊的队列,用于在消息被发送后延迟一段时间再投递给消费者。它在许多场景中非常有用,例如需要定时执行的任务、限流、重试机制等。使用场景定时任务:例如发送提醒邮件或通知,确保在特定时间后再执行。限流:控制请求速率,防止瞬时高并......
  • 【数据结构初阶】单链表接口实现超详解
    1.顺序表问题与思考上一篇博客中我们介绍了顺序表,那么顺序表有什么缺点呢?中间/头部的插入删除,时间复杂度为O(N)增容需要申请新空间,拷贝数据,释放旧空间。会有不小的消耗。增容一般是呈2倍的增长,势必会有一定的空间浪费。例如当前容量为100,满了以后增容到200,我们再继续插入了5个数......
  • 国产东方通消息队列TongLINKQ8.1服务端安装步骤
    一、服务端安装groupaddtlq# 新建组useradd-m-gtlqtlq# 新建tlq用户并指定组tlqcd/home/tlq/# 切换到安装目录并上传安装包tar-xzvfInstall_TLQ_Standard_Linux2.6.32_x86_64_8.1.16.0.tar.gz#解压安装文件cd/home/tlq/TLQ8/设置环境变量c......
  • 初阶数据结构【3】--单链表(比顺序表还好的一种数据结构!!!)
    本章概述前情回顾单链表实现单链表彩蛋时刻!!!前情回顾咱们在上一章博客点击:《顺序表》的末尾,提出了一个问题,讲出了顺序表的缺点——有点浪费空间。所以,为了解决这个问题,我们今天就要讲解链表,咱们在讲结构体的时候有提到过链表,链表的最大优点——一点空间也不浪费,用多少......
  • 数据结构——队列和栈
    目录一、栈        1、概念与结构    2、栈的结构与初始化    3、入栈        4、出栈         5、取栈顶元素         6、取栈中有效元素个数          7、栈是否为空 二、队列     1、概念......
  • 数据结构 ——— C语言实现链式队列
    目录队列的概念以及示意图数组队列和链式队列链式队列的结构 实现链式队列的准备工作实现链式队列1.初始化2.打印队列的所有数据3.数据入队列(尾插)4.数据出队列(头删)5.访问队头的数据6.访问队尾的数据7.队列数据总个数8.判断队列是否为空9.释放队列的所......
  • C++ 双端队列实现
    #include<iostream>usingnamespacestd;#defineullisize_ttemplate<classT>classDualStack{private: structNode{ Tdata; Node*next; }; Node*head,*tail; Node*p; ullilength;public: DualStack(){ head=NULL; length=0......
  • 延时队列(RabbitMQ)
    1.概述延时任务,也叫延迟任务延迟队列:没有固定的开始时间,它常常是由一个事件触发的,而在这个事件触发之后的一段时间内触发另一个事件,任务可以立即执行,也可以延迟。2.技术选型RabbitMQ(死信交换机)实现方式TTL+私信交换机1.概述死信队列:存放死信的队列死信交换机:绑定死信队列......
  • 【数据结构与算法】之队列详解
    队列(Queue)是一种重要的线性数据结构,遵循先进先出、后进后出的原则。本文将更详细地介绍队列的概念、特点、Java实现以及应用场景。模运算小复习:a%b的值总是小于b5%4=1  5 %2=11%5=1  4%5=41.队列概念概述想象一下排队买票,先排队的人总是先买......
  • 数据结构与算法——双链表的实现
    上次学习了单链表,这次来学习双链表。二者之间的区别是,单链表中的每个结点只存有后继结点的地址,而双链表中则存了两个地址,一个是前驱结点的地址,一个是后继结点的地址。结构体structListNode{ intelement;//数据域 structListNode*next; ......