用C和C++写一个快速排序

今天药忘吃喽~ 2024-03-27 12:19 117阅读 0赞

下面是用 C 语言写的快速排序算法:

  1. void quick_sort(int *array, int left, int right) {
  2. int i, j, pivot, temp;
  3. if (left < right) {
  4. pivot = left;
  5. i = left;
  6. j = right;
  7. while (i < j) {
  8. while (array[i] <= array[pivot] && i <= right) {
  9. i++;
  10. }
  11. while (array[j] > array[pivot] && j >= left) {
  12. j--;
  13. }
  14. if (i < j) {
  15. temp = array[i];
  16. array[i] = array[j];
  17. array[j] = temp;
  18. }
  19. }
  20. temp = array[j];
  21. array[j] = array[pivot];
  22. array[pivot] = temp;
  23. quick_sort(array, left, j - 1);
  24. quick_sort(array, j + 1, right);
  25. }
  26. }

使用方法:

  1. int main() {
  2. int array[5] = {
  3. 5, 3, 4, 1, 2};
  4. quick_sort(array, 0, 4);
  5. return 0;
  6. }

这将对数组 array 进行排序。

注意:这段代码仅供参考,并不保证在所有情况下都能正常工作。

发表评论

表情:
评论列表 (有 0 条评论,117人围观)

还没有评论,来说两句吧...

相关阅读