国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > java数组 > java数组如何插入元素并快捷排序?

java数组如何插入元素并快捷排序?

java数组

头像

小妮浅浅

2021-03-23 09:36:107026浏览 · 0收藏 · 0评论

本教程操作环境:windows7系统、java10版,DELL G3电脑。

1、从数组的第二个元素进行操作,如果发现其前面的元素比他大,就将其前面的元素往后挪,直到cur指向的元素大于或者等于他前一个元素,此时cur指向的位置就是待插入元素应该插入的位置。

static int[] insertSort2(int[] array){
 
    int len = array.length;
 
    for (int begin = 1; begin < len; begin++){
 
        int cur = begin;
 
        int tmp = array[cur];
 
        while (cur > 0 && array[cur] < array[cur-1]){
 
            array[cur] = array[cur-1];
 
            cur--;
 
        }
 
        array[cur] = tmp;
 
    }
 
    return array;
 
}

2、通过二分查找减少了比较次数,即cmp函数的调用,还减少了swap函数的调用。更快的找到了当前元素应该插入的位置,然后再进行挪动,提高了效率。

static int[] insertSort3(int[] array){
 
        int len = array.length;
 
 
 
        for (int begin = 1; begin < len; begin++){
 
            int v = array[begin];
 
            int insertIndex = search(array,begin);
 
            // 将 [insertIndex, begin) 范围内的元素往右边挪动一个单位
 
            for (int i = begin; i > insertIndex; i--){
 
                array[i] = array[i-1];
 
            }
 
            array[insertIndex] = v;
 
        }
 
        return array;
 
    }
 
    static int search(int[] array, int index){
 
        int begin = 0;
 
        int end = index;
 
        while(begin < end){
 
            int mid = (begin+end) >> 1;
 
            if (array[index] < array[mid]){
 
                end = mid;
 
            }else{
 
                begin = mid+1;
 
            }
 
        }
 
        return begin;
 
}

需要注意的是:使用了二分搜索后,只是减少了比较次数,但插入排序的平均时间复杂度依然是O(n^2)。

以上就是java数组插入元素并快捷排序的方法,大家在对基本的数组操作有所了解后,可以就本篇的综合性使用展开练习。更多Java学习指路:java数组

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

妈妈你真棒里面的插曲叫什么 | 种马农场(6P)--骑当千菁T..| 亚洲精品国偷自产久色| 黑丝美女| 《黏糊糊的你》免费观看| 狗锁女人全集免费播放| 《漂亮的秘书HD》在线观看 | 欧美黑粗大硬巴XXOO| K罩杯| 跳舞不小心胸跳出来了怎么办| 倒插莲花男女之间的寓意| 海棠书屋免费无弹窗全文阅读| 人口兽猪马狗第1集| 《不戴套瑜伽教练3》| 中文在线字幕观看电视剧| 蜜桃成熟时2| Y8848影院电视剧免费| 成全视频高清免费观看好听的歌| 春闺艳妇(古言)作者:年富一年| 蜜桃视频| 日本MV与欧美MV的区别| 《不戴套瑜伽教练3》| 法国《口咬》电影完整版 | 《厨房韵母2》免费观看完整版| 被男友干了两小时下身都肿起来了| 9.1在线观看动漫| 暴躁少女BGM在线观看| 看到老妈洗澡忍不住怎么办| 欧美片《肉欲进入》| 女友躲雨被老头玩弄| 15岁初中生免费播放电视剧| 《少妇》6| MD传媒破解版APP免费版| 尧建云| 交换的日子| 出轨2| 蜜桃影视| 香蕉漫画免费读漫画网下拉式| 白丝| 交换的一天电影完整播放在线观看| 成品网站免费直播有哪些平台推荐