c++实现快速排序算法
2023-09-14 09:07:08 时间
#include <unistd.h>
#include <stdio.h>
using namespace std;
void quickSort(int arr[], int left, int right) {
if (left > right) {
return;
}
int i = left;
int j = right;
int base = arr[left];
while(i != j) {
while(arr[j] >= base && i<j) {
j--;
}
while(arr[i] <= base && i<j) {
i++;
}
if(i<j) {
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
arr[left] = arr[i];
arr[i] = base;
quickSort(arr, left, i-1);
quickSort(arr, i+1, right);
}
int main() {
printf("----------before--------\n");
int arr[] = {8,5,4,6,2,7,9,1,0,3};
for(int i=0; i<10; i++) {
printf("arr[%d]=%d\n", i, arr[i]);
}
quickSort(arr, 0, 9);
printf("--------after---------\n");
for(int k=0; k<10; k++) {
printf("arr[%d]=%d\n", k, arr[k]);
}
}
相关文章
- C++面向对象编程解决三阶矩阵相加减
- C/C++ 开源算法库
- 【C/C++学院】0907-象棋五子棋代码分析/寻找算法以及排序算法
- BottomupSort算法 c++代码实现
- C++ code:数值计算之矩形法求解积分问题
- C/C++基础讲解(八十七)之游戏篇(打字训练游戏)
- Open3D(C++) GICP算法实现点云精配准
- Open3D (C++)球旋转算法(BPA)三维建模
- Algorithm:C++语言实现之图论算法相关(图搜索广度优先BFS、深度优先DFS,最短路径SPF、带负权的最短路径Bellman-ford、拓扑排序)
- C++每日面试之实现数组中偶数在左奇数在右的算法
- C++ string字符串按分隔符分割成一个数组
- c++ vector反转reverse
- 【数据结构与算法】冒泡排序——Java、C++、Python 中的算法示例代码
- 《C++程序设计实践与技巧:测试驱动开发》 环境搭建遇到的坑
- 【基础知识】7、排序算法 C++ 程序
- 机器人C++库(2)Robotics Library 配置VS2019 及 API概述
- C++算法之数据结构三
- C/C++常用语法复习(输入、输出、判断、循环)
- C++,STL -- 函数对象、常用算法
- C、C++编程入口,常见的编程题