- 1、本文档共70页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 数学建模编程-重要知识点.doc
- 数学建模讲座2007B题.ppt
- 数学建模论文格式说明.doc
- 数学建模论文格式规范.ppt
- 数学教学进度表.doc
- 数学必修3算法初步1-2-1.ppt
- 数字电子技术 黄瑞祥 1、2、5章课后答案.doc
- 数学建模论文写作方法与技巧.ppt
- 数学授课计划表(12-13上)2.doc
- 数学必修一1.1.3-2集合运算课件.ppt
- 原始临床文章脑儿童均等畸形手术校正麻痹系统评价j shore非典型单组meta.pdf
- 教师资格备考中学材料题考点.pdf
- 凯美瑞详细说明写数据方法.pdf
- 代码马里货物价值出货量954 r020-summary report of codesR020 Summary报告.pdf
- general notes on primer design in pcrPCR中底漆设计一般说明.pdf
- 湖北科技学院《学校体育学》2022-2023学年第一学期期末试卷.doc
- 陕西省商洛2024年高考压轴卷语文试卷含解析.doc
- 2024-2025学年福建省泉州市泉港一中等高三下学期第一次月考(开学考试)历史试题含解析.doc
- 广东省江门台山市2025年四年级数学第二学期期末考试试题含解析.doc
- 2025年江苏南京宁海中学高三历史试题下学期3月教学质量监测考试试卷含解析.doc
最近下载
- 2025年人防应急救援指挥中心建设项目可行性研究报告.docx
- 【强化】2025年 北京林业大学083400风景园林学《803森林生态学》考研强.docx VIP
- 中兴光纤24芯检测报告.doc VIP
- 每周工作4小时—蒂莫里.费里斯.pdf
- DB2102_T 0078-2023 公用燃气压力管道风险分级管控和隐患排查治理技术规范.pdf VIP
- 办公室管理试题及答案.docx VIP
- 06SG439-1 预应力混凝土叠合板(50mm、60mm实心底板).docx VIP
- 2025云南保山永昌教育发展有限公司招聘12人笔试备考试题及答案解析.docx VIP
- PT2安全认证SSTP含ACAFSIPEDRAtrust题库【深信服PT2题库】.pdf
- 传染病患者的心理特点和心理护理.pptx VIP
文档评论(0)