一.排序算法---快速排序
1.快速排序
1)快速排序(自定义实现)
Quick_Sort
函数:它采用一个整数数组 arr
,以及两个索引 begin
和 end
,表示排序范围的起始和结束位置。如果 begin
大于或等于 end
,则数组无需排序,因此直接返回。否则,它选择一个基准元素(通常是数组的第一个元素),然后通过比较和交换操作,将数组分成两部分:小于基准的元素和大于基准的元素。然后,它递归地对这两部分数组进行排序。
#include <iostream> void Quick_Sort(int arr[], int begin, int end) { if (begin >= end) // 基本情况:当begin大于等于end时,无需排序 return; int tmp = arr[begin]; int i = begin; int j = end; while (i != j) { while (arr[j] >= tmp && j > i) j--; while (arr[i] <= tmp && j > i) i++; if (j > i) { int t = arr[i]; arr[i] = arr[j]; arr[j] = t; } } arr[begin] = arr[i]; arr[i] = tmp; Quick_Sort(arr, begin, i - 1); // 递归排序左子数组 Quick_Sort(arr, i + 1, end); // 递归排序右子数组 } int main() { int a[] = { 5, 2, 3, 9, 8, 7, 6, 1, 4 }; // 修正数组的声明 int length = sizeof(a) / sizeof(a[0]); // 计算数组长度 Quick_Sort(a, 0, length - 1); // 调用快速排序函数 for (int i = 0; i < length; i++) { std::cout << a[i] << " "; } std::cout << std::endl; return 0; }
2)快速排序(std::使用)
使用 std::sort 对数组进行升序排序
std::sort(myArray, myArray + arraySize);
#include <iostream> #include <algorithm> // 包含标准排序函数 int main() { int a[] = {5, 2, 3, 9, 8, 7, 6, 1, 4}; int length = sizeof(a) / sizeof(a[0]); std::sort(a, a + length); // 使用 std::sort 进行排序 for (int i = 0; i < length; i++) { std::cout << a[i] << " "; } std::cout << std::endl; return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器