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/10/8 16:13:22 阅读更多 →
为什么92%的AI草图项目死在MVP前?——基于178个真实案例的失败根因图谱与逃生路线图

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

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

2026/10/4 15:04:21 阅读更多 →
2.9英寸电子墨水屏驱动开发:从SPI接口到低功耗应用实战

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

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

2026/10/2 21:46:01 阅读更多 →

最新新闻

Python旅游网站数据分析与可视化:从数据清洗到交互大屏的完整实战

Python旅游网站数据分析与可视化:从数据清洗到交互大屏的完整实战

简介:这是一份面向高校学生与Python数据分析初学者的旅游网站数据分析及可视化期末大作业完整源码包,评审分达95分以上,经过严格调试可直接运行,适合作为课程设计参考、大作业提交模板或数据分析练手项目。压缩包共74个文件&#…

2026/10/10 21:50:39 阅读更多 →
用 OpenTelemetry 与 Elastic APM 追踪 MCP 服务器工具调用:TaoToken 统一 Key 接入实践

用 OpenTelemetry 与 Elastic APM 追踪 MCP 服务器工具调用:TaoToken 统一 Key 接入实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 21:50:39 阅读更多 →
keelOS:面向边缘设备的函数原生适配操作系统

keelOS:面向边缘设备的函数原生适配操作系统

1. 项目概述:这不是一个操作系统,而是一次对“适配逻辑”的重新定义“keelOS: fnOS, 为了适配你,我做了N多调整!”——光看标题,很多人第一反应是:又一个Linux发行版?或者某个极客自研的桌面环境…

2026/10/10 21:50:39 阅读更多 →
Python手写PL0编译器:从词法分析到递归下降的完整实现与避坑指南

Python手写PL0编译器:从词法分析到递归下降的完整实现与避坑指南

简介:NUAA编译原理课设的PL0编译器Python实现,面向计算机专业学生及编译原理入门者。资源覆盖词法分析、语法分析、语义分析及后端代码生成等完整流程,适合需要从零构建编译器的课程设计参考,也可作为自学编译原理的动手范例。压缩…

2026/10/10 21:50:39 阅读更多 →
Lua表调试与dump函数实战:告别print地址,高效排查配置数据

Lua表调试与dump函数实战:告别print地址,高效排查配置数据

print 一个 table,看到的却是table: 0x7f9f8a0c1e60这种地址,几乎是每个 Lua 开发者的日常。Lua 里所有复杂数据都往 table 里塞,数组、字典、对象、配置,表面上都是同一种结构,可标准库的 print 对 table 只做一件事&…

2026/10/10 21:50:38 阅读更多 →
Penpot 47000 星开源设计工具:用 MCP Server 打通 AI 设计工作流,TaoToken 统一 Key 接入实战

Penpot 47000 星开源设计工具:用 MCP Server 打通 AI 设计工作流,TaoToken 统一 Key 接入实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 21:49:38 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:25 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →