有一个带头结点的单链表L,设计一个算法使其元素递增有序
有一个带头结点的单链表L,设计一个算法使其元素递增有序
代码思路:
我这里懒得搞那个指针了,直接遍历一遍链表,把链表的元素复制到数组arr里面
对数组A进行一下排序,排完之后再把元素复制到L里面。
至于排序你用啥算法都行,我这里用插入排序,你也可以用别的。
void linkSort(LinkList* L) {int arr[10] = { 0 };//这里默认L的最大长度不超过10int i = 0;int j = 0;LNode* p = (*L)->next;//用p来遍历链表for (i = 0;i < 10;i++) {//把链表元素赋给arrarr[i] = p->data;p = p->next;}//插入排序-升序for (i = 1;i < 10;i++) {//插入排序-升序int tmp = arr[i];for (j = i;j >= 0;j--) {if (tmp < arr[j - 1]) {arr[j] = arr[j - 1];//后移一位}else {arr[j] = tmp;break;}}}printf("\n");p = (*L)->next;//p重新回到链头for (i = 0;i < 10;i++) {//把链表元素赋给arrp->data = arr[i];p = p->next;}
}int main() {LinkList L;InitList2(&L);//初始化一个带头结点的链表3,9,1,4,2,8,5,7,6,10printf("初始链表为:");print2(L);linkSort(&L);printf("排序后链表为:");print2(L);return 0;
}

ps:链表定义及初始化,还有打印函数
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdbool.h>
#include<malloc.h>
//单链表定义
//链表结点
int A[10] = { 3,9,1,4,2,8,5,7,6,10 };
typedef struct {//定义单链表结点类型int data;//数据域struct LNode *next;//指针域
}LNode, *LinkList;//带头结点初始化-尾插法
void InitList2(LinkList* L) {(*L) = (LNode*)malloc(sizeof(LNode));(*L)->next = NULL;LNode* rear = (*L);//标记表尾int i = 0;for (i = 0;i < 10;i++) {LNode* p = (LNode*)malloc(sizeof(LNode));//创建一个新结点p->data = A[i];//新结点赋值rear->next = p;//接到L上rear = p;//标记表尾}rear->next = NULL;
}void print2(LinkList L) {//打印带头结点的链表LNode* i = L->next;//用i指针遍历整个链表while (i != NULL) {printf("%d ", i->data);i = i->next;}
}
相关文章:
有一个带头结点的单链表L,设计一个算法使其元素递增有序
有一个带头结点的单链表L,设计一个算法使其元素递增有序 代码思路: 我这里懒得搞那个指针了,直接遍历一遍链表,把链表的元素复制到数组arr里面 对数组A进行一下排序,排完之后再把元素复制到L里面。 至于排序你用啥算…...
JAVA将EEE MMM dd HH:mm:ss zzz yyyy日期格式化为yyyy-MM-dd HH:mm:ss形式
1、将EEE MMM dd HH:mm:ss zzz yyyy格式的数据转换成yyyy-MM-dd HH:mm:ss 代码如下 public static void main(String[] args) throws ParseException {String dateStr "Mon Oct 26 15:19:15 CST 2020";DateFormat cstFormate new SimpleDateFormat("yyyy-MM…...
【Qt】文件系统
文章目录 文件系统文件操作案例:显示路径到标题框,显示内容到文本框对文件进行写操作获取文件相关信息 文件系统 Qt 通过QIODevice提供了对 I/O 设备的抽象,这些设备具有读写字节块的能力,下面是 I/O 设备的类图: QIO…...
PostgreSQL 基础知识
执行环境: psql 1. 创建一个表格 CREATE TABLE customers ( customer_id serial PRIMARY KEY,firstname VARCHAR(100) NOT NULL,lastname VARCHAR(100) NOT NULL,username VARCHAR(50) UNIQUE NOT NULL,password VARCHAR(50) NOT NULL,email VARCHAR(255) UNIQUE …...
基于 ResNet18 架构使用 deformable convolution的车道线检测
下面是一个基于关键点的车道线检测网络的 PyTorch 代码示例,其中使用了 deformable convolution。该代码示例基于 ResNet18 架构,可以根据实际情况进行修改。 首先,需要导入必要的库和模块: import torch import torch.nn as nn…...
C++in/out输入输出流[IO流]
文章目录 1. C语言的输入与输出2.C的IO流2.1流的概念2.2CIO流2.3刷题常见while(cin >> str)重载强制类型转换运算符模拟while(cin >> str) 2.4C标准IO流2.5C文件IO流1.ifstream 1. C语言的输入与输出 C语言用到最频繁的输入输出方式就是scanf ()与printf()。 scanf…...
MongoDB的安装
MongoDB的安装 1、Windows下MongoDB的安装及配置 1.1 下载Mongodb安装包 下载地址: https://www.mongodb.com/try/download http://www.mongodb.org/dl/win32 MongoDB Windows系统64位下载地址:http://www.mongodb.org/dl/win32/x86_64 MongoDB W…...
SQL查询优化---如何查询截取分析
慢查询日志 1、慢查询日志是什么 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。 具体指运行时间超过long_query_time值的…...
vue3基础流程
目录 1. 安装和创建项目 2. 项目结构 3. 主要文件解析 3.1 main.js 3.2 App.vue 4. 组件和Props 5. 事件处理 6. 生命周期钩子 7. Vue 3的Composition API 8. 总结和结论 响应式系统: 组件化: 易于学习: 灵活性: 社…...
Vue 数据绑定 和 数据渲染
目录 一、Vue快速入门 1.简介 : 2.MVVM : 3.准备工作 : 二、数据绑定 1.实例 : 2.验证 : 三、数据渲染 1.单向渲染 : 2.双向渲染 : 一、Vue快速入门 1.简介 : (1) Vue[/vju/],是Vue.js的简称,是一个前端框架,常用于构建前端用户…...
【原创】解决Kotlin无法使用@Slf4j注解的问题
前言 主要还是辟谣之前的网上的用法,当然也会给出最终的使用方法。这可是Kotlin,关Slf4j何事!? 辟谣内容:创建注解来解决这个问题 例如: Target(AnnotationTarget.CLASS) Retention(AnnotationRetentio…...
CDN是如何实现全球节点同步的
当谈到内容交付网络(Content Delivery Network,CDN)加速时,我们必须了解CDN是如何实现全球节点同步的。CDN是一种网络架构,通过将内容分发到全球各地的服务器节点,以降低用户访问网站或应用程序时的延迟和提…...
Centos7 Linux系统下生成https的crt和key证书
linux下生成https的crt和key证书 步骤如下: x509证书一般会用到三类文,key,csr,crt Key 是私用密钥openssl格,通常是rsa算法。 Csr 是证书请求文件,用于申请证书。在制作csr文件的时,必须使…...
性能测试工具——Jmeter的安装【超详细】
目录 1、性能测试工具:JMeter和LoadRunner对比 2、为什么学习JMeter? 3、JMeter环境搭建 3.1、安装JDK 3.2、下载安装JMeter 3.3、配置环境变量 2.4、启动验证JMeter是否安装成功 4、认识JMeter的目录结构 1)bin目录:存放…...
系列三十、Spring AOP vs AspectJ AOP
一、关系 (1)当在Spring中要使用Aspect、Before、After等注解时,需要添加AspectJ的相关依赖,如下 <dependency><groupId>cglib</groupId><artifactId>cglib</artifactId><version>3.1</…...
面向对象设计模式——策略模式
策略设计模式(Strategy Pattern)是一种行为型设计模式,它允许在运行时选择算法的行为。该模式定义了一系列算法,将每个算法封装到一个独立的类中,使它们可以相互替换。策略模式使算法独立于客户端而变化,客…...
Kubernetes - Ingress HTTP 负载搭建部署解决方案(新版本v1.21+)
在看这一篇之前,如果不了解 Ingress 在 K8s 当中的职责,建议看之前的一篇针对旧版本 Ingress 的部署搭建,在开头会提到它的一些简介Kubernetes - Ingress HTTP 负载搭建部署解决方案_放羊的牧码的博客-CSDN博客 开始表演 1、kubeasz 一键安装…...
刚刚:腾讯云3年轻量2核2G4M服务器优惠价格366元三年
腾讯云3年轻量2核2G4M服务器,2023双十一优惠价格366元三年,自带4M公网带宽,下载速度可达512KB/秒,300GB月流量,50GB SSD盘系统盘,腾讯云百科txybk.com分享腾讯云轻量2核2G4M服务器性能、优惠活动、购买条件…...
`include指令【FPGA】
案例: 在Verilog中,include指令可以将一个文件的内容插入到当前文件中。 这个指令通常用于将一些常用的代码片段或者模块定义放在单独的文件中, 然后在需要使用的地方通过include指令将其插入到当前文件中。 这样可以提高代码的复用性和可维…...
iphone备份后怎么转到新手机,iphone备份在哪里查看
iphone备份会备份哪些东西?iphone可根据需要备份设备数据、应用数据、苹果系统等。根据不同的备份数据,可备份的数据类型不同,有些工具可整机备份,有些工具可单项数据备份。本文会详细讲解苹果手机备份可以备份哪些东西。 一、ip…...
AI教程——让每个人都能高效写出好故事
📖 AI小说创作系统:让每个人都能高效写出好故事 第一章:创作者的痛点在哪里? 写小说并不只是“把故事写出来”那么简单。很多创作者在第一章之后就陷入了困境: * 情节没头绪:故事开了头,但不知道怎么发展。 * 人物难塑造:角色扁平、动机混乱、行为前后不一。 * 设…...
JVM排查工具单
jstack是jdk自带的线程堆栈分析工具,使用该命令可以查看或导出 Java 应用程序中线程堆栈信息。线程快照是当前虚拟机内每一条线程上在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、 请…...
2025 年12月 1日KB5070311(操作系统内部版本26200.7309和26100.7309)预览 版
🔥个人主页:杨利杰YJlio❄️个人专栏:《Sysinternals实战教程》《Windows PowerShell 实战》《WINDOWS教程》《IOS教程》《微信助手》《锤子助手》 《Python》 《Kali Linux》《那些年未解决的Windows疑难杂症》🌟 让复杂的事情更…...
5G时代下,MEC如何让无人驾驶不再‘卡顿’?——边缘计算实战解析
5G时代下,MEC如何让无人驾驶不再‘卡顿’?——边缘计算实战解析 当一辆无人驾驶汽车以60公里时速行驶时,每100毫秒的延迟就会导致1.67米的制动距离差异。这正是边缘计算技术(MEC)在智能交通领域大显身手的核心场景——…...
ai协作开发:在快马平台上对比claude code与多模型生成代码的异同
最近在做一个天气查询小工具时,我尝试了用InsCode(快马)平台的AI辅助开发功能,发现不同AI模型生成的代码确实各有特色。这里分享一下我的实践过程和对比观察。 项目需求分析 这个天气小部件需要实现三个核心功能:城市输入、API数据获取和结果…...
API 调用基础:执行式AI必备网络请求知识
API 调用基础:执行式AI必备网络请求知识📝 本章学习目标:本章是入门认知部分,帮助零基础读者建立对AI Agent的初步认知。通过本章学习,你将全面掌握"API 调用基础:执行式AI必备网络请求知识"这一…...
解放你的双手:OpenKore如何让RO游戏效率提升300%的实战指南
解放你的双手:OpenKore如何让RO游戏效率提升300%的实战指南 【免费下载链接】openkore A free/open source client and automation tool for Ragnarok Online 项目地址: https://gitcode.com/gh_mirrors/op/openkore 想象一下,当其他玩家还在手动…...
新手入门指南:在快马平台用AI生成你的第一个龙虾部署实践项目
今天想和大家分享一个特别适合新手的实践项目——用Docker部署一个简单的Python Flask应用。这个项目是我在InsCode(快马)平台上完成的,整个过程对初学者非常友好,连我这种刚接触容器化的小白都能轻松上手。 为什么选择FlaskDocker组合 Flask是Python最轻…...
私有化部署Qwen3-VL:30B:内网穿透技术实现远程访问
私有化部署Qwen3-VL:30B:内网穿透技术实现远程访问 1. 引言 企业内部部署大模型已经成为AI应用的新趋势,特别是对于Qwen3-VL:30B这样的多模态大模型,私有化部署既能保证数据安全,又能提供稳定的服务性能。但在实际部署过程中&am…...
避坑指南:用CloudCompare做点云标注时,90%的人都会忽略的‘顺序’问题
避坑指南:用CloudCompare做点云标注时,90%的人都会忽略的‘顺序’问题 在三维点云处理领域,标注数据的质量直接决定了后续模型训练的可靠性。许多开发者在使用CloudCompare完成标注流程后,往往会遇到一个隐蔽却致命的问题——点云…...
