void quickSort (int arr [], int left , int right ) {
int i = left , j = right ;
int tmp ;
int pivot = arr [(left + right ) / 2];
/* partition */
while (i <= j ) {
while (arr [i ] < pivot )
i ++;
while (arr [j ] > pivot )
j --;
if (i <= j ) {
tmp = arr [i ];
arr [i ] = arr [j ];
arr [j ] = tmp ;
i ++;
j --;
}
};
/* recursion */
if (left < j )
quickSort (arr , left , j );
if (i < right )
quickSort (arr , i , right );
}
本文详细介绍了一种高效的排序算法——快速排序。通过递归的方式将数组分为较小和较大的两个子数组,并分别进行排序,最终实现整个数组的有序排列。文章提供了快速排序的核心代码实现,包括分区过程和递归调用。
58万+

被折叠的 条评论
为什么被折叠?



