- 3
- 0
- 约8.12千字
- 约 83页
- 2021-10-16 发布于重庆
- 举报
第2章 线性表;线性表是一种最简单的线性结构。
什么是线性结构?简单地说,线性结构是一个数据元素的有序(次序)集合。它有四个基本特征:
在数据元素的非空有限集中,
①存在惟一的一个被称做第一个的数据元素;
②存在惟一的一个被称做最后一个的数据元素;
③除第一个之外,集合中的每个数据元素均只有一个前驱;
④除最后一个之外,集合中的每个数据元素均只有一个后继。
这里的有序仅指在数据元素之间存在一个领先或落后的次序关系,而非指数据元素值的大???可比性。比较典型的线性结构:线性表、栈、队列、串等。
;2.1 线性表的类型定义2.1.1 线性表的定义;说明:;2.1.2 线性表的抽象数据类型;;2.1.3 操作举例;void unionList(SqList la,SqList lb)
{
int lbSize=getSize(lb);
ElemType e;
for (int i=1;i=lbSize;++i)
{
e=getElem(lb,i);
if (!locateElem(la,e,equal))
insertElem(la,e,la.size+1);
}
}
int equal(ElemType e1,ElemType e2)
{
if (e1.id==e2.id)
return 1;
return 0;
};2.2 线性表的顺序表示和实现2.2.1 线性表的顺序表示;第i个元素的地址;线性表的顺序存储结构示意图;用C++语言描述的顺序表类型如下所示:sqlist.h;bool initList(SqList L,int ms);
void clearList(SqList L);
int getSize(SqList L);
bool isEmpty(SqList L);
bool isFull(SqList L);
void traverList(SqList L,void (*visit)(ElemType));
ElemType getElem(SqList L,int pos);
int locateElem(SqList L,ElemType e,int (*compare)(ElemType,ElemType));
int findList(SqList L,ElemType e);
bool insertElem(SqList L,ElemType e,int pos);
bool deleteElem(SqList L,int pos);
bool createList(SqList L,int n,void (*visit)(ElemType));
;2.2.2 线性表顺序存储结构上的基本运算sqlist.cpp;⑵ 删除线性表的所有元素,使之成为空表
在顺序存储方式下实现此操作只要将线性表的长度置0即可。
void clearList(SqList L)
{
L.size=0;
}
⑶ 检查线性表是否为空
bool isEmpty(SqList L)
{
return L.size==0;
};⑷ 获取表元素的个数
int getSize(SqList L)
{
return L.size;
}
⑸ 检查线性表是否已满
bool isFull(SqList L)
{
return L.size==L.maxSize;
};;⑺ 遍历线性表
遍历一个线性表就是从线性表的第一个元素起,按照元素之间的逻辑顺序,依次访问每一个元素,并且每个元素只被访问一次,直到访问完所有元素为止。
void traverList(SqList L, void (*visit)(ElemType))
{
for (int i=0;iL.size;++i)
visit(L.list[i]);
coutendl;
}
如要依次输出每个元素的值,visit()的实参可定义如下:
void print(ElemType e)
{
coutid:e.id age:e.ageendl;
};⑻ 查找线性表中满足给定条件的元素
int locateElem(SqList L,ElemType e,int (*compare)(ElemType,ElemType))
{
for (int i=0;iL.size;++i)
if (compare(L.list[i],e)==1)
return i+1;
return 0;
}
如要查找与e的相等(某对应成员的值相等)的元素,则co
您可能关注的文档
- 现代通信原理课件.pptx
- 现代推销学教程之推销模式.pptx
- 现代推销学之推销学概述.pptx
- 现代文员实践环节资料安徽电大开放教育学院.pptx
- 现代物流案例分析案例分析.pptx
- 现代物流产业的发展趋势.pptx
- 现代物流概论.pptx
- 现代物流管理的基本概念解析.pptx
- 现代物流管理概论2.pptx
- 现代物流管理课件.pptx
- 抚顺石化工贸中心资金控制体系优化研究:理论、实践与创新.docx
- 探秘中华通草蛉滞育发育:生殖生物学特征与调控机制.docx
- 稀有鮈鲫受精机制及影响因素的深度剖析.docx
- 从美国强制反诉制度探寻我国民事诉讼反诉制度的革新路径.docx
- 中国职业足球管理体制:演进、困境与突破路径探究.docx
- 论我国网上个体经营活动法律规制的完善与实践.docx
- 论取保候审期间脱逃后又归案的自首认定困境与出路.docx
- 动调陀螺赋能双轴稳定平台控制系统的关键技术与优化策略研究.docx
- 论我国犯罪被害人国家补偿制度的构建与完善:法理、实践与发展路径.docx
- 光纤光栅传感监控软件:原理、应用与创新发展研究.docx
最近下载
- 2026年春教科版(新教材)小学科学二年级下册(全册)教学设计(附目录P91).pdf
- 2026年山东劳动职业技术学院单招(计算机)考试备考题库及答案解析(夺冠).docx VIP
- 超实用近五年(2021-2025)高考英语真题分类汇编:专题17 语法填空(全国通用)(原卷版).docx VIP
- 时尚流行文化解读.pptx VIP
- 文学类文本阅读青辰《梨花开了》【2023年四川省凉山州中考语文真题】.docx VIP
- 《毛笔楷书基础教程》职业院校书法课程全套教学课件.pptx
- (完整版)交管12123学法减分考试题库及答案.doc
- 2026年山东劳动职业技术学院单招(计算机)考试参考题库附答案.docx VIP
- 2025年教师资格考试高中学科知识与教学能力思想政治试卷与参考答案.docx VIP
- 基建项目财务咨询方案.docx VIP
原创力文档

文档评论(0)