04数据结构
冒泡排序 : 两两比较逻辑 : 给数组中的元素做两两比较,从首个元素开始,小的排前,大的排后,依次两两比较,比完整组后,元素做比较的次数减一,再循环此过程直到比#include stdio.h void printArray(int* arr,int length) { //判断数组中是否有元素 if (length 0) { printf(arr:[]\n); return; }//有元素-开始打印 printf([); for (int i 0; i length; i) { printf(%d,arr[i]); if (i length - 1) { printf(]\n); } else { printf(, ); } } } void bubbleSort(int* arr,int length) { //第一次冒泡排序,次数是长度减一 for (size_t j 0; j length - 1; j) { //每此循环减一次长度,每次循环大数都往后挪 for (size_t i 0; i length - 1 -j ; i) { if (arr[i] arr[i1]) { int temp arr[i]; arr[i] arr[i1]; arr[i1] temp; } } } } int main() { int arr[] {1,2,3,4,5,6,7,8,9}; printArray(arr,9); bubbleSort(arr,9); printArray(arr,9); return 0; }快速排序 : 每次做基准数归位基准数 : 通常定义序列的第一个元素作为基准数,数组中第二个元素[start]开始往后找比基准数大的数找到停止,最后数组中一个元素[end]开始往前找比基准数小的数,找到停止,特殊情况start和end没相遇时,看end最后停的位置,找到位置后交换基准数完成归位操作完成基准数归位操作后,对序列做分割,基准数前的为前序列,后的为后序列,并对每个前后序列再次做基准数归位,前序列的索引范围结束索引减一, 后序列的索引范围起始索引加一快速排序具有二分性,每此归为基准数都将序列一分为二,随着每次一分为二索引的数据规模呈指数级减小#include stdio.h void printArray(int *arr, int length) { if (length 0) { printf(arr : []\n); } printf([); for (int i 0; i length; i) { printf(%d, arr[i]); if (i length - 1) { printf(]\n); return; } else { printf(, ); } } } void swap(int *a, int *b) { int temp *a; *a *b; *b temp; } void quickSort(int *arr, int start, int end) { // 出口 if (start end) { return; } // 写规律 int low start; int high end 1; while (1) { while (low end) { low; if (arr[low] arr[start]) { break; } } while (high start) { high--; if (arr[high] arr[start]) { break; } // 走到这里说明arr[low][high],arr[high]arr[low],需要分别交换指向的元素 // 大前提 : low和high都停下,且low比high小,说明没找到基准数的位置 } if (low high) { swap(arr[low], arr[high]); } else { // 说明low和high没越过 break; } } // 从循环出来说明基准书的位置找到了 // 交换基准数和相遇位置 // 基准数归为操作 swap(arr[start], arr[high]); // 升序要和high交换位置[high找小数],降序要和low[low找大] // 递归代码 quickSort(arr, start, high - 1); quickSort(arr, high 1, end); } int main() { int arr[] {123, 456, 879, 521, 654, 4, 154, 5, 8541}; int length sizeof(arr) / sizeof(arr[0]); quickSort(arr, 0, length - 1); printArray(arr, length); printf(%d\n, length); return 0; }

相关新闻

MountainCar 认知控制器

MountainCar 认知控制器

文章目录MountainCar 认知控制器 对外白皮书一个让小车学会“后退才能前进”的AI一、为什么是MountainCar?1.1 一个看似简单实则棘手的问题1.2 为什么它很难?二、我们的方法2.1 核心理念:找到专家,然后复制他2.2 为什么这种方法有…

2026/8/2 16:26:34 阅读更多 →
为什么92%的AI草图项目死在MVP前?——基于178个真实案例的失败根因图谱与逃生路线图

为什么92%的AI草图项目死在MVP前?——基于178个真实案例的失败根因图谱与逃生路线图

更多请点击: https://intelliparadigm.com 第一章:AI草图项目的死亡真相与MVP悖论 当团队在凌晨三点为“SketchFlow AI”提交第17版原型时,服务器日志里悄然堆积了2300条未处理的草图上传请求——而用户留存率已跌至1.8%。这不是技术故障&am…

2026/8/2 16:26:34 阅读更多 →
2.9英寸电子墨水屏驱动开发:从SPI接口到低功耗应用实战

2.9英寸电子墨水屏驱动开发:从SPI接口到低功耗应用实战

1. 项目缘起:为什么是2.9英寸电子墨水屏?最近在捣鼓一个需要长时间显示、超低功耗且不伤眼的小玩意儿,比如一个桌面天气站或者一个智能标签。翻来覆去地看,最后还是锁定了电子墨水屏(E-Paper)。在众多尺寸里…

2026/8/2 16:26:34 阅读更多 →

最新新闻

解放双手的FGO全自动助手:智能战斗与任务管理的终极解决方案

解放双手的FGO全自动助手:智能战斗与任务管理的终极解决方案

解放双手的FGO全自动助手:智能战斗与任务管理的终极解决方案 【免费下载链接】FGO-py 自动爬塔! 自动每周任务! 全自动免配置跨平台的Fate/Grand Order助手.启动脚本,上床睡觉,养肝护发,满加成圣诞了解一下? 项目地址: https://gitcode.com/GitHub_Trending/fg/F…

2026/8/2 17:11:01 阅读更多 →
【计算机毕业设计单片机案例】双按键可调阈值单片机酒精检测断电保护硬件实现 基于 STM32/51 单片机的车辆酒驾自动切断电源系统开发(020501)

【计算机毕业设计单片机案例】双按键可调阈值单片机酒精检测断电保护硬件实现 基于 STM32/51 单片机的车辆酒驾自动切断电源系统开发(020501)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/8/2 17:11:01 阅读更多 →
如何高效使用NBTExplorer:3个实用场景解决我的世界数据编辑难题

如何高效使用NBTExplorer:3个实用场景解决我的世界数据编辑难题

如何高效使用NBTExplorer:3个实用场景解决我的世界数据编辑难题 【免费下载链接】NBTExplorer A graphical NBT editor for all Minecraft NBT data sources 项目地址: https://gitcode.com/gh_mirrors/nb/NBTExplorer NBTExplorer是一款专为《我的世界》玩家…

2026/8/2 17:11:01 阅读更多 →
NBTExplorer终极指南:免费开源Minecraft数据编辑神器

NBTExplorer终极指南:免费开源Minecraft数据编辑神器

NBTExplorer终极指南:免费开源Minecraft数据编辑神器 【免费下载链接】NBTExplorer A graphical NBT editor for all Minecraft NBT data sources 项目地址: https://gitcode.com/gh_mirrors/nb/NBTExplorer 你是否曾经想过修改Minecraft游戏数据&#xff0c…

2026/8/2 17:11:01 阅读更多 →
基于ESP32-S3与TensorFlow Lite Micro的嵌入式图像分类实战指南

基于ESP32-S3与TensorFlow Lite Micro的嵌入式图像分类实战指南

1. 项目缘起:为什么选择ESP32-S3做图像分类?如果你和我一样,对嵌入式AI和物联网设备开发感兴趣,那么“在微控制器上跑图像识别”这个想法一定让你心动过。几年前,这还是个需要昂贵开发板和复杂部署流程的“高端”玩法。…

2026/8/2 17:11:01 阅读更多 →
具身智能:从顶会趋势到落地挑战,从业者如何跨越理想与现实鸿沟

具身智能:从顶会趋势到落地挑战,从业者如何跨越理想与现实鸿沟

1. 从顶会热潮到落地冷思考:具身智能的十字路口 刚结束的ICRA和CVPR,无疑是全球机器人学和计算机视觉领域的两场年度盛宴。朋友圈里刷屏的论文接收喜报、会场里人头攒动的海报展,还有那些让人眼前一亮的Demo视频,无不散发着一种技…

2026/8/2 17:10:00 阅读更多 →

日新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/2 0:00:38 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/2 0:00:38 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/2 0:00:38 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/2 0:00:38 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/2 0:00:38 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/2 0:00:38 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/2 6:34:16 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/2 2:47:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/2 0:23:22 阅读更多 →