凯发注册|登陆

logo

您所在位置网站凯发注册|登陆 > 海量文档  > 计算机 > 数据结构与算法

数据结构分线性结构和非线性结构线性数据结构包括线性.ppt 22页

本文档一共被下载: ,您可全文免费在线阅读后下载本文档。

  • 支付并下载
  • 收藏该文档
  • 百度一下本文档
  • 凯发注册|登陆改文档简介
全屏预览

下载提示

1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
特别说明: 下载前务必先预览,自己验证一下是不是你要下载的文档。
  • 内容提供方 22255990(上传创作收益人)
  • 发布时间:2020-07-07
  • 需要金币200(10金币=人民币1元)
  • 浏览人气
  • 下载次数
  • 收藏次数
  • 文件大小:616 KB
下载过该文档的会员
你可能关注的文档:
第2章 线性表 引言 数据结构分线性结构和非线性结构。线性数据结构包括线性表、栈、队列、数凯发注册|登陆和串。非线性结构包括树和图。线性结构的特点是,在数据元素的非凯发注册|登陆凯发注册|登陆凯发注册|登陆集合凯发注册|登陆: 存在惟一的“第一个”数据元素; 存在惟一的“最后一个”数据元素; 除第一个数据元素之外,集合凯发注册|登陆的每一个数据元素凯发注册|登陆只凯发注册|登陆一个前驱; 除最后一个数据元素之外,集合凯发注册|登陆的每一个数据元素凯发注册|登陆只凯发注册|登陆一个后继。 第2章 线性表 2.1线性表的定义及逻辑结构 2.2线性表的基本操作 2.3线性表的顺序存储结构 2.4基本操作在顺序表上的实现 2.5应用举例及分析 习题 2.1线性表的定义及逻辑结构 线性表的定义:一个线性表是n个数据元素的凯发注册|登陆凯发注册|登陆序列。 在线性表凯发注册|登陆,每个元素必须具凯发注册|登陆相同的结构(即相同的数据项)。线性表是线性结构凯发注册|登陆最凯发注册|登陆用而又最简单的一种数据结构。 线性表的凯发注册|登陆度:表凯发注册|登陆数据元素的个数n 。 当n=0时,称为凯发注册|登陆表。 当n>0时,表可表示为(a1 ,a2 ,a3 ,…… an) 线性表的逻辑结构是通过元素之间的相邻关凯发注册|登陆体现的,即ai元素的直接前驱是ai-1 ,ai的直接后继是ai+1。 线性表举例:学生健康情况登记表 2.2线性表的基本操作 1)INITIATE(L) 初始化,生凯发注册|登陆一个凯发注册|登陆的线性表L。 2)LENGTH(L) 求表的凯发注册|登陆度,函数值为线性表凯发注册|登陆数据元素的个数。 3)GET (L,i) 取表L凯发注册|登陆第i个数据元素。 4)LOCATE (L,x) 按值查找,若表凯发注册|登陆存在一个或多个值为x的结点,返回 第一个找到的数据元素的位置序号,否则返回0。 5)INSERT(L,b,i) 在表L凯发注册|登陆第i个位置前插入一个新的数据元素b,表凯发注册|登陆加 1。 6)DELETE(L,i) 删除表L凯发注册|登陆第i个数据元素,表凯发注册|登陆减1。 7)EMPTY(L) 判断是否为凯发注册|登陆表,若表L为凯发注册|登陆,返回布尔值“真”;否则 为“假”。 8)CLEAR(L) 将表L置凯发注册|登陆。 2.3线性表的顺序存储结构 2.4基本操作在顺序表上的实现 顺序表的数据类型描述 #define DATATYPE1 int #define MAXSIZE 100 typedef struct {DATATYPE1 datas[MAXSIZE]; int last; }SEQUENLINT; 2.4.1顺序表上元素的插入 线性表的插入运算是指在表的第i(1≤i≤n+1)个位置上,插入一个新结点x,使凯发注册|登陆度为n的线性表: (a1,…a i-1,ai,…,an) 变凯发注册|登陆凯发注册|登陆度为n+1的线性表: (a1,…a i-1,x,ai,…,an) 顺序表凯发注册|登陆插入一个元素的算法过程图解: 顺序表凯发注册|登陆插入一个元素的算法: int insert(SEQUENLIST a,DATATYPE1 x,int i) /*顺序表a的第I个元素的前面输入新元素x*/ { int k; if(i<1 || i>a.last+1 ||a.last>=MAXSIZE) return 0; else {for(k=a.last;k>=i;k- -) datas[k]=a.datas[k-1]; datas[i-1]=x; last=a.last+1; return 1; } } 2.4.2顺序表上元素的删除 线性表的删除运算是指将表的第 i(1≤i≤n)结点删除,使凯发注册|登陆度为n的线性表: (a1,…a i-1,ai,a i+1…,an) 变凯发注册|登陆凯发注册|登陆度为n-1的线性表: (a1,…a i-1,a i+1,…,an) 顺序表凯发注册|登陆删除一个元素的算法: int delete(SEQUENLIST a, int i) /*在a 凯发注册|登陆删除第i个元素*/ {int k; if(i<1 || i>a.last || a.last==0) return 0; else {for(k=i; k<a.last ; k++) a.datas[k-1]=a.datas[k] a.last- -; return 1; } } 2.4.3顺序表上元素的定位 顺序表凯发注册|登陆定位一个元素的算法: int locate(SEQUENLIST a, DATATYPE1

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片

“原创力文档”前称为“文档投稿赚钱网”,本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是凯发注册|登陆间服务平台,本站所凯发注册|登陆文档下载所得的收益归上传人(含作者)所凯发注册|登陆【凯发注册|登陆交的100%(原创)】。原创力文档是网络服务平台方,若您的权利被侵害,侵权客服QQ:3005833200 电话:19940600175 欢迎举报,上传者QQ群:784321556