11 快速排序-挖坑法

发布时间:2024年01月19日

void QuickSort(int *arr, int begin, int end)
{
? ? if(begin >= end)
? ? { ??
? ? ? ? return;
? ? } ??

? ? int left = begin;
? ? int right = end;
? ? int key = arr[begin];

? ? while(begin < end)
? ? { ??
? ? ? ? while(begin < end && arr[end] >= key)
? ? ? ? { ??
? ? ? ? ? ? --end;
? ? ? ? } ??

? ? ? ? arr[begin] = arr[end];

? ? ? ? while(begin < end && arr[begin] <= key)
? ? ? ? { ??
? ? ? ? ? ? ++begin;
? ? ? ? } ??

? ? ? ? arr[end] = arr[begin];
? ? } ??

? ? arr[begin] = key;

? ? int div = begin;

? ? QuickSort(arr, left, div - 1);?
? ? QuickSort(arr, div + 1, right);
}
?

文章来源:https://blog.csdn.net/xlfdlbx/article/details/135707927
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。