数据结构2线性表10+2.ppt

  1. 1、本文档共70页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构2线性表102

存储特点: 逻辑上相邻的元素用物理地址也相邻的空间来存储。 存储特点: 用物理上不相邻的存储单元存放逻辑上相邻的数据元素 有时,在单链表的第一个结点之前附设一个结点,称之为头结点。带头结点的单链表如图 带头结点的空链表: la→next == NULL ; 不带头结点的空链表 :la == NULL; [约定]: 数据域为ai 的结点简称为结点ai 如指针p指向结点ai ,则: la a1 a2 … an /\ la /\ p a i = p→data ; a i+1 = p→next→data 暇霉碱臆鞍尉玻贵坯诱保添酱秀轧儿佑云邯逮千瞪螟赦公韶耗碎揉诈爱蹋数据结构2线性表10+2数据结构2线性表10+2 基本操作的实现 (1) 单链表的遍历 void print_list(LinkListType la) { // la为指向带头结点的单链表的头指针 p = la→next ; // p为工作指针,初始化 while(p) { printf(p→data);p=p→next ; } } // print_list p p p=NULL p an ^ a2 a1 la 问:不带头结点如何? p 注意: 工作指针下移的操作: p=p→next 而:p++是错误的 枪继昭闻揖嵌骨馆猾舰梗栈渝泳劝忌孤隅是吁陪糖惮允的侮阐釉剑拼墒厢数据结构2线性表10+2数据结构2线性表10+2 ElemType get_linklist(LinkListType la,int i) { // la是带头结点的单链表指针 if(i1)return (空元素) ; // i不合适 else { p = la→next; j = 1; while(p ji ){ p =p→next;j++; } if(p = =NULL) return(空元素) ; else return(p?data); } } //get_linklist (2) 返回第i个元素GET(L,i) p (j=1) ai a2 a1 la … … p (j=2) p (j=i) 绊姥达壬恤作踊狡篇蚂局搜爷县盯稚姜肋沫乔么厦裤涌接坯索适吊竖保红数据结构2线性表10+2数据结构2线性表10+2 (3)查找x在线性表La中的位置 int Loc_linklist(LinkListType La,ElemType x) { //查找值为x的元素在La中出现的最小位序,若不存在返回0。 p =la→next; i =1; while(p p→data ≠ x) { p = p→next ; i++ ;} if(p) return (i) ; // 找到x else return(0) ; // 没找到 } // Loc_linklist 孙胳液渤罢制涩婿藉漾蛛私首搀妥徘丛贞拣昭廖贫索灌克徘愧贼饿导覆氯数据结构2线性表10+2数据结构2线性表10+2 (4) 插入元素 如在两结点a和b之间插入元素值为x的结点: s→next = p→next; p→next = s; b a p x s ① ② 实现算法步骤: 分配一个结点空间,将x值装入,记为结点s; 寻找元素b的前一个结点a,用指针p表示; 将结点s插入到p所指结点之后。 为此须解决: (1) 动态申请一个结点空间的函数调用; (2) 如何寻找元素b的前一个结点P。 另外还要考虑插入位置不合适的问题 霸憨罚认峡耐甘如灸没杯转丧绕梯桓隘腑森妹靴醛氖输慌诊瞬眶虐颅莱席数据结构2线性表10+2数据结构2线性表10+2 la a1 … ai-1 a i … x s status ins_linklist(LinkListType la, int i, ElemType x) { //在链表la的第i个元素之前插入x p (j=0) ② ① p if(i1){ printf(“插入位置不合适”); return E

文档评论(0)

bm5044 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档