用C和C++写一个快速排序
时间: 2023-01-11 21:55:36 浏览: 119
C++归并排序与快速排序实现.zip
下面是用 C 语言写的快速排序算法:
```
void quick_sort(int *array, int left, int right) {
int i, j, pivot, temp;
if (left < right) {
pivot = left;
i = left;
j = right;
while (i < j) {
while (array[i] <= array[pivot] && i <= right) {
i++;
}
while (array[j] > array[pivot] && j >= left) {
j--;
}
if (i < j) {
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
temp = array[j];
array[j] = array[pivot];
array[pivot] = temp;
quick_sort(array, left, j - 1);
quick_sort(array, j + 1, right);
}
}
```
使用方法:
```
int main() {
int array[5] = {5, 3, 4, 1, 2};
quick_sort(array, 0, 4);
return 0;
}
```
这将对数组 `array` 进行排序。
注意:这段代码仅供参考,并不保证在所有情况下都能正常工作。
阅读全文