快速排序算法
快速排序是指通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序。整个排序过程可以递归进行,以此达到整个数据变成有序序列。
以下是我看视频学习模仿写的代码
#include<stdio.h>
void sort(int a[],int l,int r);
int main(){
int i,a[10];
for(i=0;i<10;i++)
scanf("%d",&a[i]);
sort(a,0,9);
for(i=0;i<10;i++)
printf("%d ",a[i]);
}
void sort(int a[],int L,int R){
if(L>=R)
return;
int l=L,r=R;
int p=a[l];
while(l<r){
while(l<r&&a[r]>p)
r--;
if(l<r)
a[l]=a[r];
while(l<r&&a[l]<p)
l++;
if(l<r)
a[r]=a[l];
if(l>=r)
a[l]=p;
}
sort(a,L,l-1);
sort(a,l+1,R);
}
在这里插入代码片