数据结构 - 1 线性表 - 1 概述

定义

线性表是一种线性结构,它是具有相同类型的n(n≥0)个数据元素组成的有限序列。

对于大部分线性表,数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。

循环链表逻辑层次上也是一种线性表(存储层次上属于链式存储,但是把最后一个数据元素的尾指针指向了首位结点)。

线性表的基本组成部分(存储结构):顺序表和链表。


特征

  1. 集合中必存在唯一的一个“第一元素”。
  2. 集合中必存在唯一的一个 “最后元素” 。
  3. 除最后一个元素之外,均有唯一的后继(后件)。
  4. 除第一个元素之外,均有唯一的前驱(前件)。

存储结构

线性表主要由顺序表示或链式表示。在实际应用中,常以栈、队列、字符串等特殊形式使用。

顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素,称为线性表的顺序存储结构或顺序映像(sequential mapping)。它以“物理位置相邻”来表示线性表中数据元素间的逻辑关系,可随机存取表中任一元素。

链式表示指的是用一组任意的存储单元存储线性表中的数据元素,称为线性表的链式存储结构。它的存储单元可以是连续的,也可以是不连续的。在表示数据元素之间的逻辑关系时,除了存储其本身的信息之外,还需存储一个指示其直接后继的信息(即直接后继的存储位置),这两部分信息组成数据元素的存储映像,称为结点(node)。它包括两个域:存储数据元素信息的域称为数据域;存储直接后继存储位置的域称为指针域。指针域中存储的信息称为指针或链。


常用运算

  1. MakeEmpty(L) 这是一个将L变为空表的方法
  2. Length(L) 返回表L的长度,即表中元素个数
  3. Get(L,i) 这是一个函数,函数值为L中位置i处的元素(1≤i≤n)
  4. Prior(L,i) 取i的前驱元素
  5. Next(L,i) 取i的后继元素
  6. Locate(L,x) 这是一个函数,函数值为元素x在L中的位置
  7. Insert(L,i,x)在表L的位置i处插入元素x,将原占据位置i的元素及后面的元素都向后推一个位置
  8. Delete(L,p) 从表L中删除位置p处的元素
  9. IsEmpty(L) 如果表L为空表(长度为0)则返回true,否则返回false
  10. Clear(L)清除所有元素
  11. Init(L)同第一个,初始化线性表为空
  12. Traverse(L)遍历输出所有元素
  13. Find(L,x)查找并返回元素
  14. Update(L,x)修改元素
  15. Sort(L)对所有元素重新按给定的条件排序
  16. strstr(string1,string2)用于字符数组的求string1中出现string2的首地址
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值