已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
简单链表及其应用,链表,思考:如何描述一个班的学生基本信息(学号、姓名、年龄等)? struct student int ID; char Name20; int age; stu30;,分配固定长度连续空间,操作没有灵活性 如何添加新转入学生信息?,链表,将若干个同类型的结构体类型数据按一定的原则连接起来。,struct student int ID; char Name20; int age; student *next; ;,链表的特点,coutID; student *p=head; coutName; p=p-next; coutage;,链表的特点,结点可不连续存储 操作灵活,便于扩充(动态分配空间),NULL,链表的特点,链表的操作之建立无序链,链表为空(head=0) head=p1; p2=p1;,head,data1,链表的操作之建立无序链,链表为空(head=0) head=p1; p2=p1; 链表不为空 p2-next=p1; p2=p1; p1用来指向新结点 p2用来指向链表当前尾结点,head,data1,链表的操作之输出链表上各个结点的值,遍历链表结点(“看”一个输出一个) p=head; coutdata; p=p-next; coutdata; p=p-next; /p=NULL(遍历的终止条件),链表的操作之删除某结点,先找到要删除结点 如果是头结点 p1=head; head=head-next; delete p1;,head,data4,链表的操作之删除某结点,先找到要删除结点 以“找到”或“到尾找不到”为终止条件的遍历 p2=head; while(p2-data!=data3 ,head,data4,链表的操作之删除某结点,p1-next=p2-next; /p2指向要删除结点,p1指向要删除结点的前驱结点 delete p2; 先找到要删除结点(包括其前驱结点),再删除,head,data4,链表的操作之删除整个链,遍历链表(“看”一个删一个) p1=head; head=head-next; /或head=p1-next; delete p1;,head,data4,链表的操作之删除整个链,遍历链表(“看”一个删一个) while(head!=NULL) p1=head; head=head-next; /或head=p1-next; delete p1; ,head,链表的操作之插入结点保持有序,p-next=head; head=p;,head,5,链表的操作之插入结点保持有序,p2-next=p; p-next=0;,head,5,链表的操作之插入结点保持有序,p-next=p2; p1-next=p; 先找到插入点!,head,5,链表的操作之总结,链表的操作主要依靠指针和动态空间实现 头指针是链表的访问依据 改变部分链表的函数(插入、删除结点等)需要返回改变后的链表(通过头指针),课堂练习,设计函数统计链表的结点个数 遍历链表,“看”一个,计数器累加一次 返回值为结点的个数,整型 int count(const node *head) const node *p=head;int n=0; while(p!=NULL) n+;p=p-next; retrun n; ,课堂练习,将一无序链表按升序排序 冒泡排序 if(p-data p-next-data) temp=p-data, p-data= p-next-data, p-next-data =temp,课堂练习,将一无序链表按升序排序 冒泡排序 if(p-data p-next-data) temp=p-data, p-data= p-next-data, p-next-data =temp p=p-next;,课堂练习,将一无序链表按升序排序 冒泡排序 if(p-data p-next-data) temp=p-data, p-data= p-next-data, p-next-data =temp p=p-next;,课堂练习,将一无序链表按升序排序 冒泡排序 if(p-data p-next-data) temp=p-data, p-data= p-next-data, p-next-data =temp p=p-next;,课堂练习,void sort(node * head) node *p=head; for(i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 科学增肌营养配餐定制服务流程
- 婴幼儿睡眠习惯培养管理指引
- 水稻机插秧育秧技术操作规程
- 化疗期间口腔护理的重要性
- 现场安全风险辨识检查手册
- 养老护理员营养膳食与膳食制作
- 安全风险分级管控清单管理规范
- 慢性病营养配餐执行方案
- 中风急性期中医护理要点解析
- 双重预防体系建设验收办法
- 2026年保安员资格证理论知识考试题库
- 生药学(广东海洋大学)
- 《老年急危重症容量管理急诊专家共识》总结2026
- 财务安全课件
- 2025年全国医师定期考核系统人文医学题库及答案
- 突发性耳聋的课件
- 汽车底盘电控技术课件 模块6 汽车电控悬架系统检修
- 安全管理目标及保证措施
- 常见皮肤疾病超声诊断课件
- 网络平台招商管理办法
- 市场调查与分析:大数据融合的视角(数字教材版)课件 第6章-实验法
评论
0/150
提交评论