数据结构-线性结构-线性表

目录

线性表

顺序表-线性表的顺序存储结构

顺序表-插入元素

顺序表-删除元素

单向链表-线性表的链式存储结构

单向链表-插入元素

单向链表-删除元素

线性表-实现(顺序表&单向链表)


线性结构是数据结构中最基础的一种数据结构类型。其中典型的一种叫做“线性表”。

线性表

线性表(Linear List),由同类型数据元素构成有序序列的线性结构

  • 表中元素个数称为线性表的长度
  • 线性表没有元素时,称为空表
  • 表的起始位置称为表头,表结束位置称为表尾

线性表的抽象数据类型描述

数据对象集:线性表是n(>=0)个元素构成的有序序列。

操作集:

  1. 初始化一个空线性表;
  2. 根据位序K,返回相应元素;
  3. 在线性表中查找X的第一次出现的位置;
  4. 在指定位置插入元素;
  5. 在指定位置删除元素;
  6. 返回线性表的长度;

顺序表-线性表的顺序存储结构

顺序表-插入元素

如需要在下标为i的位置插入元素

  1. 将i后面的所有元素向后挪一个位置,空出下标为i的位置
  2. 将元素插入下标为i的位置

顺序表-删除元素

如需要在下标为i的位置删除元素

  1. 从下标为i的位置开始,将后一个元素的值赋值给前一个元素
  2. 删除最后一个元素

单向链表-线性表的链式存储结构

链表,不要求逻辑上相邻的两个元素物理上也相邻;通过“链”建立起元素之间的逻辑关系。

插入和删除不需要挪动元素,只需要修改“链”。

无头节点的单向链表

有头节点的单向链表

  • 头指针:链表的名字,仅仅是一个指针。
  • 头节点:首元节点前设置的一个节点,可以不存储任何数据,指针域指向首元节点。
  • 首元节点:链表中第一个元素节点。
  1. 在链表中,头节点并不是必须存在。
  2. 有了头节点,无论链表是否为空,链表的头指针都非空。
  3. 有了头节点,对于首元节点前的节点插入和删除操作就变得和其他节点一样。

单向链表-插入元素

如需要在下标为i的位置插入元素

  • 下标 i-1 的元素的指针指向新插入的元素
  • 新插入的元素的指针指向原下标为 i 的元素

单向链表-删除元素

如需要删除下标为i的元素

线性表-实现(顺序表&单向链表)

线性表-GO语言实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值