最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java經(jīng)典排序算法之插入排序代碼實(shí)例

 更新時(shí)間:2023年10月20日 11:09:04   作者:惡魔青葉  
這篇文章主要介紹了Java經(jīng)典排序算法之插入排序代碼實(shí)例,插入排序是一種最簡(jiǎn)單直觀的排序算法,它的工作原理是通過(guò)構(gòu)建有序序列,對(duì)于未排序數(shù)據(jù),在已排序序列中從后向前掃描,找到相應(yīng)位置并插入,需要的朋友可以參考下

1.簡(jiǎn)介

插入排序是一種最簡(jiǎn)單直觀的排序算法,它的工作原理是通過(guò)構(gòu)建有序序列,對(duì)于未排序數(shù)據(jù),在已排序序列中從后向前掃描,找到相應(yīng)位置并插入。

插入排序的時(shí)間復(fù)雜度是O(n^2) ,空間復(fù)雜度 是O(1)。 將第一個(gè)看成一個(gè)有序數(shù)列,將后面的數(shù)跟前面的數(shù)比較,大的就往后移

第一趟排序后:得到一個(gè)有序數(shù)列,其大小為2

第二趟排序后:得到一個(gè)有序數(shù)列,其大小為3

第三趟排序后:得到一個(gè)有序數(shù)列,其大小為4 …

每一趟插入排序,都可以將一個(gè)無(wú)序值插入一個(gè)有序數(shù)列,直至全部值有序

實(shí)現(xiàn)思路:

  • 第一步、將第一待排序序列第一個(gè)元素看做一個(gè)有序序列,把第二個(gè)元素到最后一個(gè)元素當(dāng)成是未排序序列。
  • 第二步、從頭到尾依次掃描未排序序列,將掃描到的每個(gè)元素插入有序序列的適當(dāng)位置。(如果待插入的元素與有序序列中的某個(gè)元素相等,則將待插入元素插入到相等元素的后面。所以插入排序是穩(wěn)定的排序)

2.圖解流程

在這里插入圖片描述

3.代碼實(shí)現(xiàn)

package com.znzz.insertSort;
import java.util.Arrays;
public class InsertSort {
    public static void main(String[] args) {
        inserrtSort(new int[]{6,2,0,2,4,7,9,10});
    }
    public static void inserrtSort(int[] arr) {
        int value;  //待插入元素
        int index;  //待插入元素的前一個(gè)元素的索引
        for (int i = 1; i < arr.length; i++) {
            //這里i=1,默認(rèn)第一個(gè)元素是有序的,
            //循環(huán)條件是小于數(shù)組長(zhǎng)度
            value = arr[i];
            index = i - 1;   //前一個(gè)元素
            while (index >= 0 && value < arr[index]){
                //需要保證index合法
                //每當(dāng)前面的元素比待插入元素大,就向后移動(dòng)
                arr[index + 1] = arr[index];
                index--;
        }
        //到這里表示退出循環(huán),說(shuō)明找到了待插入的位置,
        arr[index + 1] = value;
    }
        System.out.println(Arrays.toString(arr));
}
}

到此這篇關(guān)于Java經(jīng)典排序算法之插入排序代碼實(shí)例的文章就介紹到這了,更多相關(guān)Java插入排序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

永修县| 垫江县| 衡阳市| 巍山| 新野县| 大荔县| 萨嘎县| 饶平县| 扎兰屯市| 全椒县| 上蔡县| 屯昌县| 贡嘎县| 雷州市| 葫芦岛市| 华阴市| 浠水县| 德昌县| 桑植县| 安化县| 右玉县| 鹤山市| 扶沟县| 米脂县| 来安县| 侯马市| 武城县| 长宁区| 连平县| 大埔区| 琼海市| 台南县| 龙井市| 太康县| 普安县| 斗六市| 葫芦岛市| 西昌市| 富蕴县| 鄂托克旗| 南阳市|