C语言学习-第2篇 线性表.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言学习-第2篇 线性表.ppt

第2章 线性表 本章主要内容 2.1 线性表的定义和基本操作 2.2 线性表的顺序存储结构 2.3 线性表的链式存储结构 2.4 线性表的应用举例 2.1 线性表的定义和基本操作 线性表的定义 线性表是由n(n≥0)个类型相同的数据元素组成的有限序列。 L=( a1, a2,...,ai-1,ai,ai+1,...,an);其中:L为表名,习惯用大写书写;ai为该线性表的数据元素,习惯用小写书写; 线性表中数据元素的个数被称为线性表的长度,当n=0时,称为空线性表。 线性表特点 特点 除第一个和最后一个元素外,其他元素都存在唯一的前驱、后继关系 举例 La=(34,89,765,12,90,-34,22) 数据元素类型为int。 Ls=(?Hello?,?World?, ?China?, ?Welcome?) 数据元素类型为string。 举例 Lb=(book1,book2,...,book100) 数据元素类型为下列所示的结构类型: struct bookinfo{ int No; //图书编号 char *name; //图书名称 char *auther; //作者名称 ...; } 在现实中,这种类型的数据结构很多很多,如学生档案学籍系统、图书管理系统、仓库管理系统、设备管理系统等 线性表的基本操作 1. 初始化线性表L InitList(L) 2. 销毁线性表L DestoryList(L) 3. 清空线性表L ClearList(L) 4. 求线性表L的长度 ListLength(L) 5. 判断线性表L是否为空 IsEmpty(L) 6. 获取线性表L中的某个数据元素 内容GetElem(L,i,e) 7. 检索值为e的数据元素 LocateELem(L,e) 线性表的基本操作 8. 返回线性表L中e的直接前驱元素 PriorElem(L,e) 9. 返回线性表L中e的直接后继 元素NextElem(L,e) 10.在线性表L中插入一个数据 元素ListInsert(L,i,e) 11. 删除线性表L中第i个数据 元素ListDelete(L,i,e) 注意:这些操作都是定义在逻辑层面上 2.2 线性表的顺序存储结构 顺序表元素在内存的存储地址 相邻两个数据元素的存储位置计算公式 LOC(ai+1)=LOC(ai)+L 线性表中任意一个数据元素的存储位置的计算 公式为:LOC(ai+1)=LOC(a1)+(i-1)*L 顺序存储结构的特点 逻辑与物理一致: 逻辑上相邻,物理上也相邻——利用数据元素的存储位置表示线性表中相邻数据元素之间的前后关系 随机存取: 可以利用上述给出的数学公式,快速地计算出任何一个数据元素的存储地址 顺序存储结构的类型定义 在C语言中,实现线性表的顺序存储结构的类型定义如下 #define MAXSIZE 100 typedef struct node { DataType data[MAXSIZE]; int length; } SeqList, *PseqList; 定义一个顺序表:SeqList L; 初始化一个线性表 PSeqList是指向SeqList 类型变量的指针类型; 定义:PSeqlist PL ; 则如下初始化PL=( PSeqList )malloc(sizeof(SeqList)) 或者 PL=L 典型操作的算法实现 1. 初始化线性表L PSeqList Init_SeqList(void ) { /*创建一顺序表,入口参数无,返回一个指向顺序表的指针,指针值为零表示分配空间失败*/ PSeqList PL; PL=( PSeqList )malloc(sizeof(SeqList)); if (PL) /*若SL=0表示分配失败*/ PL - length =0; retur

文档评论(0)

rewfdgd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档