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;

}

相关推荐
不会就选b13 分钟前
算法日常・每日刷题--<归并排序>1
数据结构·算法
啦啦啦啦啦zzzz39 分钟前
算法:回溯算法
c++·算法·leetcode
会飞的小新1 小时前
C 标准库之 <fenv.h> 详解与深度解析
c语言·开发语言·microsoft
IT探索1 小时前
Linux 查找文件指令总结
linux·算法
Lumos1862 小时前
51单片机从零到实战(完结)——后续学习路线建议
算法
稚南城才子,乌衣巷风流2 小时前
DFS序详解:原理、应用与实现
算法·深度优先·图论
稚南城才子,乌衣巷风流2 小时前
动态树(Dynamic Tree)数据结构详解
数据结构·算法
爱刷碗的苏泓舒2 小时前
C 语言 if-else 与 switch-case 分支语句对比
c语言·开发语言
无相求码2 小时前
指针的5层境界,从入门到劝退:C语言指针进阶全解析
c语言