第2章线性表的顺序存储优秀PPT.ppt
《第2章线性表的顺序存储优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第2章线性表的顺序存储优秀PPT.ppt(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2章章线性表的性表的顺序序存存储现在学习的是第1页,共26页2.1 2.1 线性表的逻辑结构线性表的逻辑结构简单地说,线性表的逻辑结构是指线性表数据元素之间简单地说,线性表的逻辑结构是指线性表数据元素之间的关系。线性结构是最简单且最常用的数据结构,而线性表的关系。线性结构是最简单且最常用的数据结构,而线性表是最典型的线性结构。线性结构的特点是数据元素之间是一是最典型的线性结构。线性结构的特点是数据元素之间是一种线性关系,即一对一关系。下面从线性表的定义及基本运种线性关系,即一对一关系。下面从线性表的定义及基本运算方面来讨论它的逻辑结构。算方面来讨论它的逻辑结构。现在学习的是第2页,共26页
2、2.1.1 2.1.1 线性表的定义线性表的定义线性表定义如下:线性表是具有相同数据类型的线性表定义如下:线性表是具有相同数据类型的n(n0)个数据元素的有限序列,通常记为:个数据元素的有限序列,通常记为:(a1,a2,ai-1,ai,ai+1,an)现在学习的是第3页,共26页2.1.2 2.1.2 线性表的数学定义和逻辑图线性表的数学定义和逻辑图从数学定义方面来说,线性表(从数学定义方面来说,线性表(Linear List)是具有相)是具有相同属性的数据元素的一个有限序列。该序列中所含元素的个同属性的数据元素的一个有限序列。该序列中所含元素的个数叫做线性表的长度,用数叫做线性表的长度,用n
3、表示(表示(n0)。当)。当n=0时,表示线时,表示线性表是一个空表,即表中不包含任何元素。设序列中第性表是一个空表,即表中不包含任何元素。设序列中第i个元个元素为素为ai(1in),则线性表的一般表示为:),则线性表的一般表示为:(a1,a2,ai-1,ai,ai+1,an)现在学习的是第4页,共26页2.1.3 2.1.3 线性表的基本操作线性表的基本操作数据结构的操作是定义在逻辑结构层次上的,而操作的数据结构的操作是定义在逻辑结构层次上的,而操作的具体实现是建立在存储结构上的。因此,下面定义的线性表具体实现是建立在存储结构上的。因此,下面定义的线性表的基本操作作为逻辑结构的一部分,每一个
4、操作的具体实现的基本操作作为逻辑结构的一部分,每一个操作的具体实现只有在确定了线性表的存储结构之后才能完成。只有在确定了线性表的存储结构之后才能完成。现在学习的是第5页,共26页2.2 2.2 线性表的顺序存储结构线性表的顺序存储结构线性表的顺序存储是指用一组地址连续的存储单元依次线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表的元素。而顺序存储结构,就是对线性表采用顺存储线性表的元素。而顺序存储结构,就是对线性表采用顺序存储方式存储数据时所使用变量的描述。下面从顺序表及序存储方式存储数据时所使用变量的描述。下面从顺序表及其基本运算两方面来讨论顺序存储结构。其基本运算两方面来讨论顺序
5、存储结构。现在学习的是第6页,共26页2.2.1 2.2.1 顺序表定义顺序表定义简单地说,用顺序存储方法存储的线性表简称为顺序表简单地说,用顺序存储方法存储的线性表简称为顺序表(Sequential List)。线性表中的所有元素按其逻辑顺序相继存)。线性表中的所有元素按其逻辑顺序相继存放在一个连续的存储空间中,其存储地址与次序相同,所以也可以放在一个连续的存储空间中,其存储地址与次序相同,所以也可以说它是一种随机存取的存储结构。下面通过实例描述推导出数据元说它是一种随机存取的存储结构。下面通过实例描述推导出数据元素素ai的存储地址计算公式,并讲解其随机存取的特点。的存储地址计算公式,并讲解
6、其随机存取的特点。现在学习的是第7页,共26页2.2.2 2.2.2 顺序存储结构类型顺序存储结构类型C语言中的数组在内存中占用的存储空间就是一组连续语言中的数组在内存中占用的存储空间就是一组连续的存储区域,所以,数组具有表示顺序表的数据存储区域的的存储区域,所以,数组具有表示顺序表的数据存储区域的优越特性。下面介绍在优越特性。下面介绍在C语言中,实现线性表的顺序存储结语言中,实现线性表的顺序存储结构的类型定义。构的类型定义。定义线性表的顺序存储类型时,用数组来存储线性表中定义线性表的顺序存储类型时,用数组来存储线性表中的所有元素,用整型变量来存储线性表的长度。为了便于进的所有元素,用整型变量
7、来存储线性表的长度。为了便于进行线性表的操作,把用于存储线性表元素的数组和存储线性行线性表的操作,把用于存储线性表元素的数组和存储线性表长度的变量同时说明在一个记录类型中。表长度的变量同时说明在一个记录类型中。现在学习的是第8页,共26页2.2.3 2.2.3 顺序表的基本运算顺序表的基本运算本节主要讨论采用顺序存储结构来实现各种基本的运算,先本节主要讨论采用顺序存储结构来实现各种基本的运算,先介绍求顺序表的长度、判断表是否为空、判断表是否为满、清空介绍求顺序表的长度、判断表是否为空、判断表是否为满、清空表、取顺序表数据元素、显示线性表等较简单的基本运算实现方表、取顺序表数据元素、显示线性表等
8、较简单的基本运算实现方法。对顺序表的创建、查找、插入、删除等复杂操作单独分节讨法。对顺序表的创建、查找、插入、删除等复杂操作单独分节讨论。论。1 求顺序表的长度求顺序表的长度2 判断表是否为空判断表是否为空 3 判断表是否为满判断表是否为满 4 清空表清空表 5 取顺序表数据元素取顺序表数据元素6 显示线性表显示线性表现在学习的是第9页,共26页2.3 2.3 顺序表的建立顺序表的建立顺序表的建立是指实现顺序表的初始化并给各结点关顺序表的建立是指实现顺序表的初始化并给各结点关联相应的数据元素。上一节主要介绍顺序表的较简单的运算,联相应的数据元素。上一节主要介绍顺序表的较简单的运算,而顺序表的建
9、立运算对数据结构初学者来说相对困难些。读而顺序表的建立运算对数据结构初学者来说相对困难些。读者要掌握者要掌握C语言程序设计方法,且具有一定的编程经验才能语言程序设计方法,且具有一定的编程经验才能独立解决上机实验过程中出现的问题。顺序表建立算法实现独立解决上机实验过程中出现的问题。顺序表建立算法实现如下:如下:void Create_List(SqList*L,int n)int i;for(i=0;idatai);L-length=n;现在学习的是第10页,共26页2.4 2.4 顺序表的查找顺序表的查找顺序表的查找是在指定的顺序表顺序表的查找是在指定的顺序表L中查找指定位序中查找指定位序i的
10、数的数据元素或指定数据元素据元素或指定数据元素x的位序。若的位序。若L中存在该序号或其值与中存在该序号或其值与x相等的数据元素,则返回值为该数据元素的值或在线性表相等的数据元素,则返回值为该数据元素的值或在线性表中的位序。顺序表的查找是最基本的查找方法,主要分为按中的位序。顺序表的查找是最基本的查找方法,主要分为按位置查找元素和按内容查找元素两种操作。位置查找元素和按内容查找元素两种操作。现在学习的是第11页,共26页2.4.1 2.4.1 按位置查找元素按位置查找元素顺序表是一种随机存取结构,所以在顺序表中按位置查顺序表是一种随机存取结构,所以在顺序表中按位置查找元素非常容易,只要查找位置合
11、法,可直接返回对应的数找元素非常容易,只要查找位置合法,可直接返回对应的数据元素。据元素。按位置查找元素算法实现如下:按位置查找元素算法实现如下:DataType Locate_List(SqList L,int i)DataType e;if(i Length_List(L)printf(输入的位置非法输入的位置非法!);return 0;e=L.datai-1;return(e);现在学习的是第12页,共26页2.4.2 2.4.2 按值查找元素按值查找元素按值查找元素是在顺序表中查找是否有结点值等于给按值查找元素是在顺序表中查找是否有结点值等于给定值定值x的结点,若有,则返回首次找到的其
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 线性 顺序 存储 优秀 PPT
限制150内