对于已知从小到大和从大到小的数,如何用while进行排序,这个有思路,但不知怎么代,
1条回答 默认 最新
- 牵着蜗牛去散步_ 2022-11-22 17:37关注
从你贴出来的代码来看,逻辑是输入一个4位数,然后对组成这个4位数的每个数字进行排序,归根到底就是一个排序问题,用while循环的话就可以使用快速排序
下面是代码public void quickSort(int[] nums, int low, int high) { if (low < high) { int index = partition(nums, low, high); quickSort(nums, low, index - 1); quickSort(nums, index + 1, high); } } public int partition(int[] nums, int low, int high) { int pivot = nums[low]; int start = low; while (low < high) { // while (low < high && nums[high] <= pivot) // 从大到小 while (low < high && nums[high] >= pivot) high--; // while (low < high && nums[low] >= pivot) // 从大到小 while (low < high && nums[low] <= pivot) low++; if (low >= high) break; swap(nums, low, high); } //基准值归位 swap(nums, start, low); return low; } public void swap(int[] nums, int i, int j) { int temp = nums[i]; nums[i] = nums[j]; nums[j] = temp; }
解决 无用评论 打赏 举报
悬赏问题
- ¥20 搭建三相栅极电路后高侧浮动地VS存在电容特性
- ¥20 云卓h12pro 数传问题
- ¥20 请问有人知道怎么用工艺库里面的sdb文件通过virtuoso导出来library里面每个cell的symbol吗?
- ¥20 海思 nnie 编译 报错
- ¥50 决策面并仿真,要求有仿真结果图
- ¥15 springboot接入微信支付SDK
- ¥50 大区域的遥感影像匹配 怎么做啊
- ¥15 求解答:pytorch跑yolov8神经网络受挫
- ¥20 Js代码报错问题不知道怎么解决
- ¥15 gojs 点击按钮node的position位置进行改变,再次点击回到原来的位置