华清远见上海中心22071班 8.24作业
1.单向链表按位置修改
void list_update_pos(linklist *L,int pos,datatype e)
{if(NULL==L||list_empty(L)||pos<0||pos>L->len){printf("修改失败\n");return ;}linklist *p=list_find_node(L,pos);p->data=e;printf("修改成功\n");
}
2.单向链表的翻转 (非递归)
void list_reverse(linklist *L)
{if(NULL==L){printf("翻转失败\n");return ;}linklist *p=L->next;L->next=NULL;linklist *s=NULL;while(p){s=p->next;p->next=L->next;L->next=p;p=s;}printf("翻转完成\n");
}
单向链表的翻转 (递归):
linklist *reverse(linklist* L)
{if(L==NULL||L->next==NULL){return L;}else{ linklist *p=reverse(L->next);L->next->next=L;L->next=NULL;return p;}
}
递归代码经过多次修改测试仍然会出现段错误和乱码 w,原因尚不明确
输出结果:
3.双向链表尾插、头删、按值修改
int insert_tail(doublelink *d,datatype e)
{if(NULL==d){printf("插入失败\n");return -1;}doublelink *p=apply(e);if(empty(d)){d->next=p;p->prio=d;}else{doublelink *q=find(d,d->len);q->next=p;p->prio=q;}d->len++;printf("插入成功\n");return 0;
}
int delet_head(doublelink *d)
{if(NULL==d||empty(d)){printf("删除失败\n");return -1;}doublelink *p=d->next;if(p->next==NULL){p->prio->next=NULL;free(p);}else{p->prio->next=p->next;p->next->prio=p->prio;free(p);}d->len--;p=NULL;printf("删除成功\n");return 0;
}
int update_value(doublelink *d,datatype old_e,datatype new_e)
{if(NULL==d||empty(d)){printf("修改失败\n");return -1;}doublelink *q=d->next;while(q!=NULL){if(q->data==old_e){q->data=new_e;}q=q->next;}printf("修改成功\n");return 0;
}
输出结果:
华清远见上海中心22071班 8.24作业相关推荐
- 华清远见上海中心22071班--11.24作业
题目:应用层采取ioctl命令控制,驱动代码用GPIO子系统,实现开发板6盏灯的循环亮灭 头文件程序: #ifndef __LED_H__ #define __LED_H__typedef enum{ ...
- 华清远见上海中心22071班 9.2作业
1.用父子进程拷贝一张图片,其中子进程先拷贝后半部分,父进程后拷贝前半部分.要求用文件IO实现. 函数: #include <stdio.h> #include <fcntl.h&g ...
- 华清远见上海中心22071班--11.19作业
题目:实现开发板点灯操作 程序要求: 1)分部实现注册字符设备驱动 2)自动创建设备节点 3)通过结构体对led灯地址进行映射 4)次设备号完成私有数据传参 5)在open函数中获取到次设备号,用私有 ...
- 华清远见上海中心22071班 9.7作业
目录 1.创建两个线程 A.B,要求A线程读取文件中的数据,B线程将读取到的数据打印到终端上,类似shell命令cat. 2.编写一个程序,开启3个线程,这3个线程的ID分别为A.B.C,每个线程将自 ...
- 华清远见上海中心22071班 9.30作业
电子词典: 登录注册功能,不能重复登录,重复注册 单词查询功能 历史记录功能,存储单词,意思,以及查询时间 基于TCP,支持多客户端连接 采用数据库保存用户信息与历史记录 将dict.txt的数据导入 ...
- 华清远见上海中心22071班 9.21作业
1.完成数据库的插入.删除.修改,插入选择全字段插入.删除.修改选择用id的方式 代码: #include <stdio.h> #include <sqlite3.h> #in ...
- 华清远见上海中心22071班 9.19作业
目录 1.并发服务器 1)多进程并发服务器 2)多线程并发服务器 2.域套接字 1.流式域套接字(TCP) 1.1服务器 1.2客户端 2.报式套接字(UDP) 2.1服务器 2.2客户端 1.并发服 ...
- 华清远见上海中心22071班 8.25作业
目录 1.用无头结点的循环链表实现约瑟夫环问题 头文件: 功能函数: 主函数: 终端输出: 2.顺序栈实现进制转换问题 头文件: 功能函数: 主函数: 终端输出: 1.用无头结点的循环链表实现约瑟夫环 ...
- 华清远见上海中心22071班--11.28作业
题目:三个按键实现按键中断,key1>>led1,key2>>led2, key3>>led3.按键按一下灯亮,再按一下灯灭 . #include <linu ...
最新文章
- shell脚本——实现简单的功能
- python编码转换规范_Python转载[编码规范]
- python删除指定日期前的备份文件
- C语言解决迭代递推问题
- cenos7上部署python3环境以及mysqlconnector2.1.5
- 专业五线谱作曲打谱软件Overture的常用快捷键功能大全
- arcgis中给属性文件加x y坐标
- 在Windows搭建私人蚂蚁云笔记服务器
- 酷派s6电信版开机显示无服务器,电信版酷派s6刷机教程和方法【图文】
- openwrt路由器打印机服务器设置_OPENWRT网络打印机TCP/IP共享设置教程 以703N为例...
- 技术人员如何创业(2)---合伙人的模式
- 盘点 6 个开源的音乐播放器!
- uvaoj 10066 - The Twin Towers 最长公共子序列(LCS)
- android平板 视频输入,安卓平板电脑的新突破口:HDMI in 视频输入,取代便携显示器...
- 初涉网络,自己对服务器的一些基础理解
- FTP主动和被动模式区别
- 齐博模板直接写mysql_齐博CMS使用教程系统安装.ppt
- 2019 CCPC-Wannafly Winter Camp Day8 (Div2, onsite) 补题记录
- JS中JSON.parse()
- 缠论中枢的判断以及应用(完整版)
热门文章
- Mysql基础学习内容
- 对讲机CE认证需做什么测试
- Spring集成Redis键值乱码\xac\xed\x00\x05t\x00\tb
- 基于机器学习的心脏成像诊断
- 视频伪原创批量处理工具 抖音短视频解去水印
- 基于Grad-CAM与KL损失的SSD目标检测算法
- ionic 打 android 出现 Current working directory is not a Cordova-based project.
- 【小技巧】2345——劫持Edge浏览器主页,它它它.....它又回来了
- mysql 外键有啥用途_外键
- Android传输助手,电脑手机传输助手