写一个快速排序的C代码
时间: 2024-06-17 15:03:59 浏览: 8
快速排序是一种常用的排序算法,其基本思想是通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,然后再分别对这两部分记录继续进行排序,以达到整个序列有序的目的。
下面是一个C语言实现的快速排序代码示例:
```
void quick_sort(int arr[], int left, int right)
{
int i, j, temp;
if (left < right)
{
i = left;
j = right;
temp = arr[left];
while (i < j)
{
while (i < j && arr[j] >= temp)
j--;
if (i < j)
arr[i++] = arr[j];
while (i < j && arr[i] < temp)
i++;
if (i < j)
arr[j--] = arr[i];
}
arr[i] = temp;
quick_sort(arr, left, i - 1);
quick_sort(arr, i + 1, right);
}
}
```
其中,arr表示待排序的数组,left表示数组的左端点,right表示数组的右端点。在实现过程中,我们使用了递归的思想,通过不断地将待排序序列划分成子序列进行排序,最终得到有序序列。
相关推荐
![h](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)