- 8
- 0
- 约8.97千字
- 约 69页
- 2017-05-30 发布于河南
- 举报
【零基础学数据结构】第3章 线性表---机械工业,陈锐 著...
第3章 线性表 线性表是一种最简单的线性结构。线性结构的特点是:在非空的有限集合,只有唯一的第一个元素和唯一的最后一个元素。第一个元素没有直接前驱元素,最后一个元素没有直接后继元素。其它元素都有唯一的前驱元素和唯一的后继元素。线性表可以用顺序存储结构和链式存储结构存储,可以在线性表的任意位置进行插入和删除操作 . 3.1 线性表的概念及运算 线性表是一种最简单且最常用的一种线性结构。本节主要介绍线性表的逻辑结构及在线性表上的运算。 3.1.1 线性表的逻辑结构 一个线性表由有限个类型相同的数据元素组成。在这有限个数据元素中,数据元素构成一个有序的序列,除了第一个元素和最后一个元素外,其它元素有唯一的前驱元素和唯一的后继元素。 在简单的线性表中,可以把每一英文单词看成是一个线性表。表中的每一英文字母就是一个数据元素,每个数据元素之间存在着唯一的顺序关系。 3.1.1 线性表的逻辑结构 在较复杂的线性表中,一个数据元素可以由若干个数据项组成,如图3.2所示的一个学校的教职工情况表中,一个数据元素由姓名、性别、出生年月、籍贯、学历、职称及任职时间七个数据项组成。这时,数据元素也称为记录。 3.1.2 线性表的抽象数据类型 1.数据对象集合 2.基本操作集合 3.2 线性表的顺序表示与实现 要在计算机上实现线性表的操作,必须将其逻辑结构转化为计算机可以识别的存储结构形式。线性表的存储结构主要有两种:顺序存储结构和链式存储结构。本节的主要学习内容包括线性表的顺序存储结构及顺序存储结构下的操作实现。 3.2.1 线性表的顺序存储结构 线性表的顺序存储指的是将线性表中的元素存放在一组连续的存储单元中。这样的存储方式使得线性表逻辑上相邻的元素,其在物理存储单元也是相邻的。采用顺序存储结构的线性表称为顺序表。 假设线性表有n个元素,每个元素占用m个存储单元,如果第一个元素的存储位置记为LOC(a1),第i个元素的存储位置记为LOC(ai),第i+1个元素的存储位置记为LOC(ai+1)。 3.2.1 线性表的顺序存储结构 线性表的顺序存储结构描述如下。 #define ListSize 100 typedef struct { DataType list[ListSize]; int length; }SeqList; 3.2.2 顺序表的基本运算 在顺序存储结构中,线性表的基本运算如下。以下算法的实现保存在文件“SeqList.h”中。 3.2.2 顺序表的基本运算 (1)线性表的初始化操作。线性表的初始化就是将线性表初始化为空表,只需要将线性表的长度置为0即可。线性表的初始化实现代码如下。 void InitList(SeqList *L) { L-length=0; /*把线性表的长度置为0*/ } 3.2.2 顺序表的基本运算 (2)判断线性表是否为空。线性表为空的标志就是线性表的长度length为0。判断线性表是否为空的实现代码如下。 int ListEmpty(SeqList L) { if(L.length==0) /*判断线性表的长度是否为0*/ return 1;/*当线性表为空时,返回1;否则返回0*/ else return 0; } 3.2.2 顺序表的基本运算 (3)按序号查找操作。 int GetElem(SeqList L,int i,DataType *e) { /*在查找第i个元素之前,判断该序号是否合法*/ if(i1||iL.length) return -1; *e=L.list[i-1]; /*将第i个元素的值赋值给e*/ return 1; } 3.2.2 顺序表的基本运算 (4)按内容查找操作。 int LocateElem(SeqList L,DataType e) { int i; for(i=0;iL.length;i++) /*从第一个元素开始比较*/ if(L.list[i]==e) return i+1; return 0; } 3.2.2 顺序表的基本运算 (5)插入操作。 3.2.2 顺序表的基本运算 (6)删除操作。 3.2.2 顺序表的基本运算 (7)返回线性表的长度操作。 int ListLength(SeqList L) { return L.length; } 3.2.2 顺序表的基本运算 (8)清空操作。 void ClearList(SeqList *L) { L-length=0;
您可能关注的文档
- SOHO中国中山广场.pdf
- SOHO中山广场(楼书电子版).pdf
- SOHO嘉盛中心电子楼书.pdf
- Sun的云计算架构介绍白皮书第1版(2009年6月).pdf
- SPARKS灵星广告介绍.pdf
- systemview通信方针.pdf
- thx3第2章_参数检测(温度).pdf
- UG4.0教程第八章 工程制图1.pdf
- TS-X-NIEP-NEEM-F-DC-78台山油漆要求.pdf
- VSS2005与VS2008集成指导文档.pdf
- 河北盐山中学等校2025-2026学年上学期高三一模化学试卷(含解析).docx
- 河北正定中学2025-2026学年高一上学期期末考试物理试卷(含解析).docx
- 河北张家口市怀安县2025-2026学年第一学期期末教学综合评价八年级地理试卷(含解析).docx
- 河南安阳市殷都区2025-2026学年第一学期期末教学质量检测七年级地理试卷(含解析).docx
- 河南安阳市滑县2025一2026学年第一学期期末学业质量监测八年级地理试题(含解析).docx
- 河南安阳市林州市2025-2026学年上学期期末考试高一政治试题(含解析).docx
- 河南焦作市武陟县第一中学2025-2026学年高一上学期1月月考语文试卷(含解析).docx
- 河南济源市2025-2026学年上学期期末学业质量调研七年级历史试卷(含解析).docx
- PICC导管并发症的紧急处理与护理.pptx
- 河南鹤壁市2025-2026学年高二上学期期末考试生物试题(含解析).docx
最近下载
- 智盛国际结算教学实训平台软件操作手册V3.0.pdf
- 2026年江西工业工程职业技术学院单招职业适应性测试题库含答案详解.docx VIP
- OpenClaw自我研究报告1.0.pdf VIP
- 05S804矩形钢筋混凝土蓄水池(建筑结构图集).pdf
- 中成药用药指导原则.pdf
- 医学课件-2025心肺复苏指南最新标准.pptx VIP
- 热电集中供压缩空气项目可行性研究报告写作模板-申批立项.doc
- 矿山开采中SimbaH1354(中深孔)台车故障诊断及规避.pdf VIP
- 吉林省长春市2026届高三年级质量检测化学(一)(长春一模)(含答案).pdf
- 2026年辅警招聘笔试考试题库及答案.docx VIP
原创力文档

文档评论(0)