数据结构与算法——C语言和Java语言描述 ppt及答案和其他资源02 线性表
46页1、,数据结构与算法,第二章 线性表,唐懿芳,目 录,线性表的定义,顺序线性表,线性表的链式存储,第一节,第二节,第三节,CONTENTS,循环单链表和双向链表,第四节,实训,第五节,目 录,线性表的定义,顺序线性表,线性表的链式存储,第一节,第二节,第三节,CONTENTS,循环单链表和双向链表,第四节,实训,第五节,线性表的定义,定义,由n(n)个相同类型数据元素(结点)a1,a2, an组成的有限序列。 (a1,a2,an) 其中: n:数据元素的个数,也称表的长度。 空表:n=0,记为(),举例,由26个英文字母构成的表(a,b,c,z)是一个线性表; 由全体职工的基本工资构成的表(1236.60,1669.80,900.00,890.00,1842.00)是线性表。 我们常常玩的扑克牌,其数据元素牌,是由牌点、花色两项组成的,是复合数据类型,这种类型的线性表称为复合线性表 。,数据结构与算法,线性表的定义,数据结构与算法,在非空的线性表,有且仅有一个开始结点a1,它没有直接前趋,而仅有一个直接后继a2; 有且仅有一个终端结点an,它没有直接后继,而仅有一个直接前趋an-1; 其余
2、的内部结点ai(2in-1)都有且仅有一个直接前趋ai-1和一个直接后继ai+1。,线性表的特征,线性表的定义,求表长求线性表中元素的个数。 遍历从左到右(或从右到左)扫描(或读取)表中的各元素。 按编号查找找出表中第i个元素。 按特征查找按某个特定值查找线性表。 插入在第i个位置上(即原第i个元素前)插入一新元素。 删除删除原表中的第i个元素。 排序按元素某特征值的递增(或递减)排序,重排表中各元素。,线性表的基本运算,数据结构与算法,目 录,线性表的定义,顺序线性表,线性表的链式存储,第一节,第二节,第三节,CONTENTS,循环单链表和双向链表,第四节,实训,第五节,顺序表的定义,数据结构与算法,顺序表:把线性表的结点按逻辑顺序依次存放在一组地址连续的存储单元里。用这种方法存储的线性表简称顺序表。 特点:逻辑上相邻的数据元素,其物理(存储)位置也是相邻的。,LOC(ai) = LOC(ai-1) + k,LOC(ai) =b+(i-1)k,顺序表的定义,数据结构与算法,由于C语言中的一维数组也是采用顺序存储表示,故可以用数组类型来描述顺序表。,顺序表的定义,MaxSize -1,
3、备用空间,有效结点,顺序表的定义,数据结构与算法,GetLength(): 求顺序表中元素的个数 PrintList():遍历一个顺序表 GetElem(int i):按编号查找 Locate(object e):按特征查找 InsertList( int i, object e):在顺序表中插入一个元素 DeleteList(int i):从顺序表中删除一个元素,基于顺序表的运算的实现,顺序表的定义,数据结构与算法,基于顺序表的运算的实现,int Locate(SeqList l,ElemType e) /*在顺序表l中查找元素e,若 l.elemi=e,则找到该元素,并返回i,若找不到,返回-1*/ i=0 ; while (i=l.listlength-1) /* Locate */,顺序表的定义,数据结构与算法,基于顺序表的运算的实现,顺序表的定义,数据结构与算法,基于顺序表的运算的实现,/*在顺序表l中第i(i应视作数组的下标)个数据元素之前插入元素e*/ void InsList(SeqList *l, int i, ElemType e) if(i=l- listleng
4、th) /*判断插入位置是否合法*/ printf(“Error”); if(l- listlength = MaxSize-1) /*判断表是否已满*/ printf(“Overflow”); return; for(k=l- listlength-1; k=i; k-) /*将元素elemlistlength-1i依次向后移动一个单元*/ l-elemk+1=l-elemk; l-elemi=e; l- listlength+; ,顺序表的定义,数据结构与算法,基于顺序表的运算的实现,删除l中的第i个数据元素(DelList(l,i)),使得线性表(a1, ai-1, ai, , an) 改变为(a1,,ai-1, ai+1, ,an)。 即: 改变了线性表中元素之间的关系,使和改变为,同时表长减1。,顺序表的定义,数据结构与算法,基于顺序表的运算的实现,/*在顺序表l中删除第i(i应视作数组的下标)个数据元素*/ void DelList(SeqList *l,int i) if(il-listlength-1) /*判断删除位置是否合法*/ printf(“Error“); r
《数据结构与算法——C语言和Java语言描述 ppt及答案和其他资源02 线性表》由会员E****分享,可在线阅读,更多相关《数据结构与算法——C语言和Java语言描述 ppt及答案和其他资源02 线性表》请在金锄头文库上搜索。
逍遥游复习 知识点整理
近现代法德关系史 高三展示课3稿
当代大学生人生信仰及追求的调查研究
长相思 纳兰性德-ppt课件
课件:危机意识 一
英语ppt演讲关于阿甘正传
发达国家基础教育改革的动向与趋势 修改版
中国民间美术 课件.ppt
生物质发电技术与系统 课程ppt 第1章 生物质发电技术现状及发展趋势 2学时 -----2016
现代信号处理思考题 含答案
执业药师继续教育 抑郁症的药物治疗 100分
小学生的成长档案模板不用修改 万能型
增订六版 现代汉语 上册 第二章文字 思考与练习答案
国家财政ppt课件
加拿大英语介绍
六年级统计图的选择课件
中学生成长档案ppt
中国现代文学史期末复习整理
lohi和hihilo训练对女子赛艇运动员运动能力影响的比较研究
风雨贾平凹阅读答案
2024-03-21 39页
2024-03-21 41页
2024-03-21 40页
2024-03-21 34页
2024-03-21 33页
2024-03-21 35页
2024-03-21 21页
2024-03-21 45页
2024-03-21 33页
2024-02-20 85页