考研数据结构——线性表

一条考研狗的日常坚持

从今天起,我就要坚持每天学几课数据结构,争取将每天的代码完全掌握,手敲才是王道,看懂不是真正的懂,相信自己,我可以的!加油!
 这里并不是将每一个知识都会写在上面,我会贴出我每天的代码,我不会将源码贴出来让你们复制哟,因为数据结构学习的最好的方法就是自己敲!我还会写一些重要的点,有兴趣的可以一起哦,参照的教程是《2021王道考研全程》
 编译器:VS2019(真的很好用)
PS:不出意外应该会每天更新

顺序表

静态实现

  1. 用静态的“数组”存放数据
  2. 连续的存储空间
  3. 空间容量一开始就确定好,且无法改变

代码区域:在这里插入图片描述

动态分配

  1. 需要用指针指向分配的动态数组
  2. 当数据存满了以后,可以使用malloc函数动态扩展数组的容量
    L.data = (int)malloc((InitSize + len) * sizeof(int));*
  3. 将原数据复制到新的拓展区域,并且用free释放原区域

代码区域:在这里插入图片描述

顺序表的特点

在这里插入图片描述

顺序表的插入与删除

插入操作中重要的点

  1. 注意代码的健壮性,要判断插入的位置是否合法
  2. 注意开始往后移位的时候的起始与结束的位置
  3. 时间复杂度
    在这里插入图片描述

代码区域
在这里插入图片描述
删除操作中重要的点

  1. 注意代码的健壮性,要判断删除的位置是否合法
  2. 注意开始往后移位的时候的起始与结束的位置
  3. 因为要知道删除的数值大小,所以我们用引用型变量&e负责带回删除的值
  4. 时间复杂度
    在这里插入图片描述

代码区域
在这里插入图片描述

顺序表的查找

按位查找中重要的点

  1. 直接用下标得到值
  2. 时间复杂度均为O(1)

代码区域
在这里插入图片描述
按值查找中重要的点

  1. 从第一个元素往后检索即可
  2. 时间复杂度
    在这里插入图片描述

代码区域
在这里插入图片描述

链表

单链表

不带头节点的单链表的定义与初始化

  1. 要表示单链表时,只需声明一个头指针L,指向单链表
  2. LinkList----强调这是一个单链表
    LNode*----强调这是一个节点

代码区域
在这里插入图片描述
带头节点的单链表的定义与初始化
写代码更方便

代码区域
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值