快速排序算法是一种常见的排序算法,其基本思想是通过一趟排序将待排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的所有数据小,然后分别对这两部分数据进行排序,循环递归直到整个序列有序。
以下是C语言实现快速排序算法的示例代码:
#include<stdio.h>
voidquickSort(intarr[],intleft,intright){
inti=left,j=right;
intpivot=arr[(left+right)/2];
while(i<=j){
while(arr[i]<pivot){
i++;
}
while(arr[j]>pivot){
j--;
}
if(i<=j){
inttemp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
i++;
j--;
}
}
if(left<j){
quickSort(arr,left,j);
}
if(i<right){
quickSort(arr,i,right);
}
}
intmain(){
intarr[]={12,34,23,45,56,67,78,89,90,11};
intn=sizeof(arr)/sizeof(arr[0]);
quickSort(arr,0,n-1);
printf("Sortedarray:");
for(inti=0;i<n;i++){
printf("%d",arr[i]);
}
return0;
}
在上面的代码中,quickSort
函数实现了快速排序算法的逻辑,其中left
表示数组的起始索引,right
表示数组的结束索引。在主函数中,我们定义了一个数组arr
并调用quickSort
函数对其进行排序,最后打印排序后的结果。
注意:上面的示例代码只是一种实现方式,实际应用中可能需要根据具体情况进行优化和改进。