C快速排序
来源:互联网 发布:vibe算法改进代码 编辑:程序博客网 时间:2024/05/23 13:53
思路:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
#include <stdio.h>int division(int a[] ,int left,int right);void quickSort(int a[],int left,int right);int main(){ int a[10]={25,34,24,65,56,78,72,96,87,15}; quickSort(a,0,9); //打印数组 for(int p=0;p<10;p++) printf("%d ",a[p]); return 0;} int division(int a[] ,int left,int right) //分割函数 { int basic=a[left];//基准数字 while(left<right) { while(left<right && a[right]>basic) //右边的数字大于基准数字 --right; //大于则继续自右向左比较 a[left] = a[right]; //右边的小于基准数字则停止,并将小于的值赋予左边 while(left<right && a[left]<basic) //right不成立时,再从左边比较 ++left; //小于则,继续查找 a[right]=a[left]; //大于时,将左值赋给right } a[left]=basic; return left;}void quickSort(int a[],int left,int right){ int i,j; if(left<right) { i=division(a,left,right); quickSort(a,left,i-1); quickSort(a,i+1,right); }}
0 0
- 排序-快速排序(c)
- 快速排序--C语言
- 快速排序(c#)
- 快速排序C
- C++快速排序算法
- 快速排序QuickSort.c
- 快速排序(C#)
- 快速排序算法 C
- 快速排序(C++)
- 快速排序C语言
- (C#)快速排序 Quicksort
- 快速排序 C代码
- 快速排序(C)
- C快速排序算法
- 快速排序 Java/C
- C快速排序
- 快速排序C语言版
- 快速排序--C语言
- spring框架入门(一)
- OC_字符串显示不同颜色
- linux 常用命令案例
- Oracle事物
- Java 七武器系列长生剑:Java 虚拟机的显微镜 Serviceability Agent
- C快速排序
- Spring IoC依赖注入
- numpy中向量式三目运算符
- Java排序查找
- 正则表达式
- selenium+chromedriver安装及简单使用
- Problem--617A--Codeforces-- A. Elephant
- 用docker玩坏ubuntu虚拟机容器
- -bash: ./mysql_install_db: Permission denied