选择排序

          /**
     * 选择排序
     * @param arr
     */
    private static void selectSort(int[] arr) {
        // 校验
        if (arr == null || arr.length < 2){
            return;
        }
        // 选择次数
        int n = arr.length;
        for (int i = 0; i < n; i++){
            // 最小值下标
            int minValueIndex = i;
            for (int j = i + 1; j < n; j++) {
                // 若 i + 1 的值比其小 则交换 最小值下标
                minValueIndex = arr[j] < arr[minValueIndex] ? j : minValueIndex;
            }
            swap(arr,i,minValueIndex);
        }
    }

    /**
     * 交互数组值
     */
    private static void swap(int[] arr, int i, int j) {
        int tmp = arr[i];
        arr[i] = arr[j];
        arr[j] = tmp;
    }        

全部评论
排序这个我之前面试考过
点赞 回复 分享
发布于 2022-10-02 18:23 山西

相关推荐

NBA球星伦纳德:jd是这样的,工作连拧螺丝都算不上
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务