学堂 学堂 学堂公众号手机端

快速排序算法是一种常见的排序算法,其基本思想是通过一趟排序将待排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的所有数据小,然后分别对这两部分数据进行排序,循环递归直到整个序列有序

lewis 1年前 (2024-02-13) 阅读数 5 #技术

快速排序算法是一种常见的排序算法,其基本思想是通过一趟排序将待排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的所有数据小,然后分别对这两部分数据进行排序,循环递归直到整个序列有序。

以下是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函数对其进行排序,最后打印排序后的结果。


注意:上面的示例代码只是一种实现方式,实际应用中可能需要根据具体情况进行优化和改进。

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门