欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java簡單插入排序?qū)嵗?/h1>
 更新時(shí)間:2017年08月11日 08:57:35   作者:五歲i  
這篇文章主要為大家詳細(xì)介紹了java簡單插入排序?qū)嵗?,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

一、基本概念

      插入排序的基本操作就是將一個(gè)數(shù)據(jù)插入到已經(jīng)排好序的有序數(shù)據(jù)中,從而得到一個(gè)新的、個(gè)數(shù)加一的有序數(shù)據(jù),算法適用于少量數(shù)據(jù)的排序,時(shí)間復(fù)雜度為O(n^2)。是穩(wěn)定的排序方法。插入算法把要排序的數(shù)組分成兩部分:第一部分包含了這個(gè)數(shù)組的所有元素,但將最后一個(gè)元素除外(讓數(shù)組多一個(gè)空間才有插入的位置),而第二部分就只包含這一個(gè)元素(即待插入元素)。在第一部分排序完成后,再將這個(gè)最后元素插入到已排好序的第一部分中。

二、java代碼實(shí)現(xiàn)

public class InsertSort {
  public static void inserSort(int[] array){
    if (array==null||array.length<2){
      return;
    }

    for (int i=1;i<array.length;i++){ //默認(rèn)第一個(gè)元素為有序隊(duì)列,從第二個(gè)元素開始循環(huán)插入
      int position=array[i];     //設(shè)置第二個(gè)元素為要插入的數(shù)據(jù)
      int j=i-1;
      while (j>=0&&position<array[j]){
        array[j+1]=array[j];   //如果插入發(fā)數(shù)小于第j個(gè)元素,將第j個(gè)數(shù)向后移
        j--;
      }
      array[j+1]=position;     //插入
    }
  }

  public static void main(String ags[]){
    int[] array={2,6,4,7,3,-1};
    inserSort(array);
    for (int i=0;i<array.length;i++){
      System.out.print(array[i]+" ");
    }
  }
}
 

三、性能分析

穩(wěn)定
空間復(fù)雜度O(1)
時(shí)間復(fù)雜度O(n2)
最差情況:反序,需要移動(dòng)n*(n-1)/2個(gè)元素
最好情況:正序,不需要移動(dòng)元素

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Mybatis 自動(dòng)映射(使用需謹(jǐn)慎)

    Mybatis 自動(dòng)映射(使用需謹(jǐn)慎)

    這篇文章主要介紹了Mybatis 自動(dòng)映射(使用需謹(jǐn)慎),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Java攔截器和過濾器的區(qū)別分析

    Java攔截器和過濾器的區(qū)別分析

    今天帶大家分析java攔截器和過濾器的區(qū)別,文中有非常詳細(xì)的解釋說明,對(duì)正在學(xué)習(xí)java的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-05-05
  • SpringBoot+MySQL實(shí)現(xiàn)讀寫分離的多種具體方案

    SpringBoot+MySQL實(shí)現(xiàn)讀寫分離的多種具體方案

    在高并發(fā)和大數(shù)據(jù)量的場景下,數(shù)據(jù)庫成為了系統(tǒng)的瓶頸。為了提高數(shù)據(jù)庫的處理能力和性能,讀寫分離成為了一種常用的解決方案,本文將介紹在Spring?Boot項(xiàng)目中實(shí)現(xiàn)MySQL數(shù)據(jù)庫讀寫分離的多種具體方案,需要的朋友可以參考下
    2023-06-06
  • SpringMVC 重定向參數(shù)RedirectAttributes實(shí)例

    SpringMVC 重定向參數(shù)RedirectAttributes實(shí)例

    這篇文章主要介紹了SpringMVC 重定向參數(shù)RedirectAttributes實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • springmvc如何使用map接收參數(shù)

    springmvc如何使用map接收參數(shù)

    這篇文章主要介紹了springmvc如何使用map接收參數(shù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 在本地用idea連接虛擬機(jī)上的hbase集群的實(shí)現(xiàn)代碼

    在本地用idea連接虛擬機(jī)上的hbase集群的實(shí)現(xiàn)代碼

    這篇文章主要介紹了在本地用idea連接虛擬機(jī)上的hbase集群的實(shí)現(xiàn)代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • java substring 截取字符串的方法

    java substring 截取字符串的方法

    這篇文章主要介紹了java substring 截取字符串的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Java泛型中的通配符舉例詳解

    Java泛型中的通配符舉例詳解

    Java泛型中的通配符是指使用"?"來表示未知類型,可以用于定義泛型類、泛型方法和泛型接口,下面這篇文章主要給大家介紹了關(guān)于Java泛型中通配符的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • Thymeleaf對(duì)象的使用之基本對(duì)象實(shí)例解析

    Thymeleaf對(duì)象的使用之基本對(duì)象實(shí)例解析

    這篇文章主要介紹了Thymeleaf對(duì)象的使用之基本對(duì)象實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Java中jqGrid 學(xué)習(xí)筆記整理——進(jìn)階篇(二)

    Java中jqGrid 學(xué)習(xí)筆記整理——進(jìn)階篇(二)

    這篇文章主要介紹了Java中jqGrid 學(xué)習(xí)筆記整理——進(jìn)階篇(二)的相關(guān)資料,需要的朋友可以參考下
    2016-04-04

最新評(píng)論