C语言实现快速排序算法

#include <stdio.h>

void swap(int* a, int* b) {

int t = *a;

*a = *b;

*b = t;

}

int partition (int arr\[\], int low, int high) {

int pivot = arrhigh;

int i = (low - 1);

for (int j = low; j <= high - 1; j++) {

if (arrj < pivot) {

i++;

swap(&arri, &arrj);

}

}

swap(&arri + 1, &arrhigh);

return (i + 1);

}

void quickSort(int arr\[\], int low, int high) {

if (low < high) {

int pi = partition(arr, low, high);

quickSort(arr, low, pi - 1);

quickSort(arr, pi + 1, high);

}

}

void printArray(int arr\[\], int size) {

for (int i = 0; i < size; i++)

printf("%d ", arri);

printf("\n");

}

int main() {

int arr\[\] = {10, 7, 8, 9, 1, 5};

int n = sizeof(arr)/sizeof(arr0);

quickSort(arr, 0, n-1);

printf("Sorted array: \n");

printArray(arr, n);

return 0;

}

相关推荐
cypking3 小时前
Objective-C 语法完整学习手册(小白自学 + 开发备查)
c语言·开发语言·学习·objective-c
mCell10 小时前
Lua 编程入门:从基础语法到元表
javascript·算法·lua
wuyk55512 小时前
98.C语言易混难点:字符数组与字符串指针的底层差异
c语言·开发语言·c++·stm32·嵌入式硬件·算法
峥无13 小时前
从0到1手撕红黑树:封装实现 my_map 与 my_set(SGI-STL 源码级深度解析)
开发语言·c++·笔记·算法·stl
wp123_113 小时前
IPX8 防水 Type‑C连接器:安费诺 124018792112A 与 TONEVEE TY48087‑24A 技术梳理
c语言·开发语言
不会代码的小猴13 小时前
3. 控件学习1
开发语言·c++·笔记·qt·算法
203号居民15 小时前
LeetCode hot 100 —41. 缺失的第一个正数
数据结构·算法·leetcode
专注仿真17 小时前
问答大模型技术方案算法实现-熵权法融合算法 + 交叉编码器重排算法
人工智能·python·算法·语言模型·问答大模型关键算法·熵权融合算法·交叉编码器重排算法
地平线开发者18 小时前
量化为什么会有损失:从量化误差到精度下降
算法