数据结构day4作业

1.单链表任意位置删除

	datetype pos;printf("please input pos");scanf("%d",&pos);head=delete_all(head,pos);Output(head);
Linklist delete_all(Linklist head,datetype pos)
{if(pos<1||pos>length(head)||head==NULL)return head;if(head->next==NULL){free(head);head=NULL;}else{if(pos==1){head=delete_head(head);return head;}else{Linklist p=head;for(int i=1;i<pos-1;i++){p=p->next;}Linklist q=p->next;p->next=q->next;free(q);p=NULL;return head;}}
}


2.单链表任意位置修改

	datetype pos;printf("please input pos");scanf("%d",&pos);printf("please input element");scanf("%d",&element);mod_all(head,pos,element);Output(head);
void mod_all(Linklist head,datetype pos,datetype element)
{Linklist p=head;if(head==NULL||pos<1||pos>length(head))return;for(int i=1;i<pos;i++){p=p->next;}p->date=element;
}


3.单链表任意位置查找

	datetype pos;printf("please input pos");scanf("%d",&pos);find_all(head,pos);Output(head);
void find_all(Linklist head,datetype pos)
{Linklist p=head;if(head==NULL||pos<1||pos>length(head))return;for(int i=1;i<pos;i++){p=p->next;}printf("%d\n",p->date);
}


4.单链表任意元素查找

	datetype key;printf("please input key");scanf("%d",&key);datetype index=find_ele(head,key);if(index==-1)printf("不存在\n");else{printf("在第%d的位置\n",index);}
int find_ele(Linklist head,datetype key)
{if(head==NULL)return -1;datetype count=0;Linklist p=head;for(int i=1;i<=length(head);i++){count++;if(p->date==key)return count;p=p->next;}return -1;
}


5.单链表任意元素修改

	datetype key;printf("please input key");scanf("%d",&key);printf("please input element");scanf("%d",&element);mod_ele(head,key,element);Output(head);
int mod_ele(Linklist head,datetype key,datetype element)
{if(head==NULL)return -1;datetype pos=find_ele(head,key);Linklist p=head;for(int i=1;i<pos;i++){p=p->next;}p->date=element;
}

6.单链表任意元素删除

	datetype key;printf("please input key");scanf("%d",&key);delete_ele(head,key);Output(head);
int delete_ele(Linklist head,datetype key)
{if(head==NULL)return -1;Linklist p=head;datetype pos=find_ele(head,key);for(int i=1;i<pos-1;i++){p=p->next;}Linklist q=p->next;p->next=q->next;free(q);q=NULL;return 0;
}


7.单链表逆置(面试)

	head=nizhi(head);Output(head);
Linklist nizhi(Linklist head)
{if(head==NULL)return head;Linklist p=head->next;head->next=NULL;while(p){Linklist t=p;p=p->next;t->next=head;head=t;}return head;
}

8.单链表查找倒数第n个节点(面试)

	printf("please input n:");scanf("%d",&n);back_node(head,n);
datetype back_node(Linklist head, datetype n)
{if(head==NULL||n<1||n>length(head))return -1;datetype pos=length(head)-n+1;find_all(head,pos);return 0;}

9.单链表排序(面试)

	datetype flag;printf("printf input flag:(0|1)");scanf("%d",&flag);if(flag==1|flag==0){sort_list(head,flag);Output(head);}else{printf("input error\n");}
datetype sort_list(Linklist head,datetype flag)
{if(head==NULL)return -1;Linklist p=head;if(flag==1){for(int i=0;i<length(head)-1;i++){p=head;for(int j=0;j<length(head)-i-1;j++){if(p->date > p->next->date){p->date ^= p->next->date;p->next->date ^= p->date;p->date ^= p->next->date;}p=p->next;}}}else{for(int i=0;i<length(head)-1;i++){p=head;for(int j=0;j<length(head)-i-1;j++){if(p->date < p->next->date){p->date ^= p->next->date;p->next->date ^= p->date;p->date ^= p->next->date;}p=p->next;}}}return 0;
}


10.单链表释放内存
 

 	head=free_list(head);
Linklist free_list(Linklist head)
{if(head==NULL)return head;Linklist p=head;while(head){p=head;head=head->next;free(p);}p=NULL;return head;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/183669.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Web安全漏洞分析-XSS(上)

随着互联网的迅猛发展&#xff0c;Web应用的普及程度也愈发广泛。然而&#xff0c;随之而来的是各种安全威胁的不断涌现&#xff0c;其中最为常见而危险的之一就是跨站脚本攻击&#xff08;Cross-Site Scripting&#xff0c;简称XSS&#xff09;。XSS攻击一直以来都是Web安全领…

万界星空科技/仓库管理WMS系统/免费仓库管理系统

仓库管理&#xff08;仓储管理&#xff09;&#xff0c;指对仓库及仓库内部的物资进行收发、结存等有效控制和管理&#xff0c;确保仓储货物的完好无损&#xff0c;保证生产经营活动的正常进行&#xff0c;在此基础上对货物进行分类记录&#xff0c;通过报表分析展示仓库状态、…

使用Python爬取快手视频与评论(App与Web端分析)

文章目录 1. APP端抓包配置2. APP端抓包分析3. Web端抓包分析4. 爬虫代码实现 【作者主页】&#xff1a;吴秋霖 【作者介绍】&#xff1a;Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作&#xff01; 【作者推荐】&#xff1a…

酷开科技:让体育迷的热情释放,让运动精神传递

在繁忙的生活节奏中&#xff0c;我们总是被各种琐事所困扰&#xff0c;很难抽出时间去享受运动带来的快乐&#xff0c;甚至很少有时间去观看一场体育赛事。而一场好的体育赛事带给体育爱好者的快乐往往来自于两方面&#xff0c;一是线下参与&#xff0c;感受现场带来的震撼&…

基于Java SSM框架+Vue实现病人跟踪治疗信息系统项目【项目源码+论文说明】

基于java的SSM框架Vue实现病人跟踪治疗信息系统演示 摘要 病人跟踪治疗信息管理系统采用B/S模式&#xff0c;促进了病人跟踪治疗信息管理系统的安全、快捷、高效的发展。传统的管理模式还处于手工处理阶段&#xff0c;管理效率极低&#xff0c;随着病人的不断增多&#xff0c;…

Java---抽象类讲解

文章目录 1. 抽象类概述2. 抽象类特点3. 抽象类的成员特点4. 抽象类猫狗应用 1. 抽象类概述 在Java中&#xff0c;一个没有方法体的方法应该定义为抽象方法&#xff1b;而类中如果有抽象方法&#xff0c;该类必须定义为抽象类。 2. 抽象类特点 1. 抽象类和抽象方法必须使用abst…

Python将Labelme的Json标注文件进行增、删、改、查

Python将Labelme的Json标注文件进行增、删、改、查 前言前提条件相关介绍实验环境Json标注文件的增、删、改、查增代码实现输出结果 删代码实现输出结果 改代码实现输出结果 查代码实现输出结果 前言 由于本人水平有限&#xff0c;难免出现错漏&#xff0c;敬请批评改正。更多精…

【JavaEE初阶】——JVM介绍(面试高频)

文章目录 前言一、进程和线程二、JVM进程三、JVM介绍 3.1 JVM内存区域划分 3.2 JVM类加载 3.3 JVM垃圾回收&#xff08;CG&#xff09;四、JVM常见选择题总结 前言 一、进程和线程 在谈JVM的这些问题前&#xff0c;我们先来复习一下有关线程和进程的关系 进程&…

在Springboot中将数据渲染到前端页面1.0

前端数据代码&#xff1a; <?xml version"1.0" encoding"UTF-8" ?> <emps><emp><name>金毛狮王</name><age>55</age><image>https://web-framework.oss-cn-hangzhou.aliyuncs.com/web/1.jpg</image…

RK3568 android 13 内置 google GMS服务

需求&#xff1a;Android 系统在国外使用安装app很多需要gms服务&#xff0c;否则无法正常使用&#xff0c;所以出厂前必须要把GMS包集成进系统 1.下载gms包https://download.csdn.net/download/qq_46524402/88136401 2.解压gms包 并放到Android SDK根目录的vender文件夹下 3…

NSSCTF第14页(1)

[suctf 2019]checkin 利用了几种方式&#xff0c;发现都不行 1是修改mime类型&#xff0c;2是修改php标签为js标签&#xff0c;3是修改文件后缀 在试试用配置文件来上传 发现上传.user.ini文件成功 发现上传成功 上传的png图片 访问上传路径发现可以访问&#xff0c;上马成…

【springboot】Spring 官方抛弃了 Java 8!新idea如何创建java8项目

解决idea至少创建jdk17项目 问题idea现在只能创建最少jdk17&#xff0c;不能创建java8了吗?解决 问题 idea现在只能创建最少jdk17&#xff0c;不能创建java8了吗? 我本来以为是 IDEA 版本更新导致的 Bug&#xff0c;开始还没在意。 直到我今天自己初始化项目时才发现&…

解决VS2019无法正常显示XAML设计界面问题

问题描述 当VS2019配置工程为x64模式时&#xff0c;打开工程中XAML页面可能出现如下错误提示&#xff0c;进而无法正常显示XAML设计界面。 There was an exception when loading the design time assembly C:\Users\Administrator\AppData\Local\Microsoft\VisualStudio\16.0_…

某60物联网安全之IoT漏洞利用实操2学习记录

物联网安全 文章目录 物联网安全IoT漏洞利用实操2&#xff08;内存破坏漏洞&#xff09;实验目的实验环境实验工具实验原理实验内容实验步骤ARM ROP构造与调试MIPS栈溢出漏洞逆向分析 IoT漏洞利用实操2&#xff08;内存破坏漏洞&#xff09; 实验目的 学会ARM栈溢出漏洞的原理…

二.运算符

运算符 1.算术运算符2.比较运算符3.逻辑运算符 1.算术运算符 算数运算符主要用于数学运算&#xff0c;其可以连接运算符前后的两个数值或表达式&#xff0c;对数值或表达式进行 - * / 和 取模%运算 1.加减法运算符 mysql> SELECT 100,100 0,100 - 0,100 50,100 50 - …

输入通道数 和 输出通道数 的理解

输入通道数&#xff08;in_channels&#xff09;输出通道数&#xff08;out_channels&#xff09; 在卷积神经网络中通常需要输入 in_channels 和 out_channels &#xff0c;即输入通道数和输出通道数&#xff0c;它们代表什么意思呢&#xff1f; 输入通道数&#xff08;in_c…

nexus

一、nexus介绍二、nexus部署部署java环境安装配置nexus浏览器访问 三、创建一个内网yum源四、创建一个代理yum仓库五、jenkins 使用 nexus插件jenkins部署maven-proxy配置 maven 工程查看构建和上传 一、nexus介绍 Nexus 是一个强大的仓库管理工具&#xff0c;用于管理和分发 …

linux用户组管理_创建删除密码修改

2.2 用户/组管理 2.2.1 用户 2.2.1.1 useradd&#xff1a;创建用户 添加用户账号就是在系统中创建一个新账号&#xff0c;然后为新账号分配用户号、用户组、主目录和登录Shell等资源。 useradd命令的基本语法如下&#xff1a; useradd 选项 用户名 常见选项参数&#xff…

瑞云科技参与《数字孪生世界白皮书》编写,实时云渲染助力数字孪生

为了促进数字孪生技术的发展和应用&#xff0c;易知微与数字孪生世界企业联盟联合众多行业专家以及多家业内企业共同编写了《数字孪生世界白皮书&#xff08;2023&#xff09;》。该白皮书从数字孪生的综述、应用架构、核心技术、新型技术成果和重点行业应用等方面&#xff0c;…

【算法刷题】Day9

文章目录 611. 有效三角形的个数![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/9d627e680e9144a2b67474a1d80aa030.png)题解&#xff1a;代码&#xff1a; LCR 179. 查找总价格为目标值的两个商品题解&#xff1a;代码&#xff1a; 611. 有效三角形的个数 原题链…