算法|数据结构学习笔记之线性表(02)

算法|数据结构学习笔记之线性表(02)

文章图片

算法|数据结构学习笔记之线性表(02)

文章图片

算法|数据结构学习笔记之线性表(02)

文章图片

算法|数据结构学习笔记之线性表(02)

文章图片

算法|数据结构学习笔记之线性表(02)

文章图片

算法|数据结构学习笔记之线性表(02)

文章图片

算法|数据结构学习笔记之线性表(02)

文章图片

算法|数据结构学习笔记之线性表(02)

文章图片

算法|数据结构学习笔记之线性表(02)

文章图片

算法|数据结构学习笔记之线性表(02)

文章图片


第二章:数据结构之线性表1.1、线性表相关概念(1)线性表定义
线性表:线性表是由n个相同数据特点的元素组成的有限序列 。

  • 线性表中 , 元素的个数称为线性表的长度
  • 表长等于0 , 则称为空表
线性表特点:
  • 线性表中 , 数据元素都是具有相同性质的 。
  • 线性表存在唯一的头结点 。
  • 线性表存在唯一的尾节点 。
  • 线性表中 , 除了头尾两个节点外 , 其余节点都有且仅有一个前驱节点 , 一个后继节点 。
1.2、线性表的顺序表示(1)顺序表定义
线性表的顺序表示 , 是指采用一组地址连续的存储单元依次保存线性表中的数据元素 。
这种顺序保存的线性表 , 称为顺序表 。
顺序表在逻辑上是相邻的 , 物理结构也是相邻的(即:在内存中是连续存储的) 。
(2)顺序表地址
通常采用序列表示线性表:
  • L = (a0a1a2......an)
假设a0在计算机内存中的地址是LOC(a0) , 并且每一个元素占用k个字节 , 则ai的地址如下所示:
  • LOC(ai) = LOC(a0) + (i-1)*k
a0称为基地址、或者起始地址
线性表这种通过地址直接找到元素的特性 , 称为:随机存取 。
在高级语言中 , 通常采用数组来描述顺序表 。
1.3、C语言实现顺序表(1)线性表定义
【算法描述】
  • 定义数据元素指针【数据类型可以采用ElemType表示】
  • 定义顺序表实际长度

(2)顺序表初始化
【算法步骤】
  • 动态分配一个数组
  • 采用 malloc 函数动态分配空间
  • 采用 sizeof 函数计算空间大小
  • 表长设置为0

(3)顺序表取值
【算法描述】