这是qklbishe.com第15907 篇笔试面试资料
提供答案分析,通过本文《快排-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:

快排

快排 Kawhi_Zhou
#include <cstdio> #include <ctime> #include <cstdlib>  void swap(int *arr, int i, int j) {     if (i == j) return;                                         arr[i] = arr[i] ^ arr[j];     arr[j] = arr[i] ^ arr[j];     arr[i] = arr[i] ^ arr[j]; }  void partition(int *arr, int left, int right, int *help) {     srand((int)time(NULL));     int ind = left + (int)((double)rand() / RAND_MAX * (right - left));     swap(arr, ind, right);     int less = left - 1, more = right;     while (left < more) {         if (arr[left] < arr[right]) swap(arr, ++less, left++);         else if (arr[left] == arr[right]) ++left;         else swap(arr, --more, left);     }     swap(arr, more, right);     help[0] = less + 1;     help[1] = more; }  void quickSort(int *arr, int left, int right) {     if (left >= right) return;     int help[2];     partition(arr, left, right, help);     quickSort(arr, left, help[0] - 1);     quickSort(arr, help[1] + 1, right); }  int main() {     int n;     scanf("%d", &n);     int arr[n];     for (int i = 0; i < n; ++i) scanf("%d", &arr[i]);     quickSort(arr, 0, n - 1);     for (int i = 0; i < n; ++i) printf("%d ", arr[i]);     return 0; }

2021-09-09 22:34:19 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 快排-笔试面试资料

提供最优质的资源集合

立即查看 了解详情