C 排序算法:快速排序
📅 2026/7/28 15:28:36
👁️ 阅读次数
📝 编程学习
C 排序算法:快速排序
一、实现
#include<stdio.h> void quickSort(int *p, int left, int right); void disArr(int *p,int size); int main() { int arr[] = {1,9,8,7,0,2}; quickSort(arr,0, sizeof(arr) / sizeof(*arr)-1); disArr(arr, sizeof(arr) / sizeof(*arr)); return 0; } void quickSort(int *p,int left,int right) { if (left < right) { int pivot = p[left], l = left, r = right; while(l<r) { while (l < r&&p[r]>=pivot)//大而移动,小而赋值 r--; p[l] = p[r]; while (l < r&&p[l]<=pivot)//小而移动,大而赋值 l++; p[r] = p[l]; } p[r] = pivot; quickSort(p,left, r-1); quickSort(p,r+1, right); } } void disArr(int *p,int size) { for (int i = 0; i < size; ++i) { printf("%-3d", p[i]); } puts(""); }二、过程演示
编程学习
技术分享
实战经验