数据结构基础之线性表的顺序表示与实现方法
作者:本站整理 时间:2015-06-05
继线性表的类型定义后,在本文中我们来学习线性表的顺序表示与实现方法。
1、存储结构
逻辑结构 |
|
“数据结构”定义中的“关系”指数据间的逻辑关系,故也称数据结构为逻辑结构。 |
存储结构 |
|
数据结构在计算机中的表示称为物理结构。又称存储结构。 |
顺序存储结构 |
||
链式存储结构 |
2、线性表的类型定义
一、线性表的顺序表示
用一组地址连续的存储单元依次存储线性表的数据元素。C语言中的数组即采用顺序存储方式。
|
|
a[9] |
|
假设线性表的每个元素需占用l个存储单元,并以所占的第一个单元的存储地址作为数据元素的存储位置。则存在如下关系:
LOC(ai+1)=LOC(ai)+l
LOC(ai)=LOC(a1)+(i-1)*l
式中LOC(a1)是线性表的第一个数据元素的存储位置,通常称做线性表的起始位置或基地址。常用b表示。
线性表的这种机内表示称做线性表的顺序存储结构或顺序映象。
称顺序存储结构的线性表为顺序表。顺序表的特点是以元素在计算机内物理位置相邻来表示线性表中数据元素之间的逻辑关系。
二、顺序存储结构的线性表类C语言表示:
线性表的动态分配顺序存储结构 |
#define LIST_INIT_SIZE 100 |
三、顺序存储结构的线性表操作及C语言实现:
顺序表的插入与删除操作:
序号 |
数据元素 |
序号 |
数据元素 |
|
序号 |
数据元素 |
序号 |
数据元素 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
->24 |
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
插入前n=8;插入后n=9; |
|
删除前n=8;删除后n=7; |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
顺序表的插入算法 |
status ListInsert(List *L,int i,ElemType e) { |
顺序表的合并算法 |
void MergeList(List *La,List *Lb,List *Lc) { |
顺序表的查找算法 |
int LocateElem(List *La,ElemType e,int type) { |
顺序表的联合算法 |
void UnionList(List *La, List *Lb) { |
三、C语言源程序范例
四、总结
线性表的顺序表示
顺序表的插入算法
顺序表的合并算法
相关文章
相关推荐
-
office anywhere(通达oa系统) V2015官方版
-
方可进销存系统(采购管理工具) v9.6 免费版
-
krita中文版(32位/64位) v3.1.1
-
蜜蜂剪辑官方版
-
家长宝典 4.401(上网管理软件)
-
超信电脑版 v1.5.0.0
-
DVDStyler x64位官方中文版V2.9.4 (DVD菜单制作)
-
飞天无线点菜系统 4.36(无线点菜系统下载)
-
超易餐饮管理软件 3.33(餐饮管理系统)网络版
-
乐教乐学官方版
-
GOM Player官方版
-
QQTalk(QT语音通信工具)V4.5.44官方版(多人语音聊天工具)
-
Easy CD-DA Extractor(音乐编辑器)多语中文破解版 v16.1.0.1
-
Lightroom3.6【Adobe Lightroom 3.6】中文绿色版
-
FileLocator Pro V7.5.2109.1官方中文版(文件搜索器)
-
UPX脱壳(UPX Shell)绿色中文版 v3.4.2.2013