java簡單插入排序實例
更新時間:2017年08月11日 08:57:35 作者:五歲i
這篇文章主要為大家詳細介紹了java簡單插入排序實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
一、基本概念
插入排序的基本操作就是將一個數據插入到已經排好序的有序數據中,從而得到一個新的、個數加一的有序數據,算法適用于少量數據的排序,時間復雜度為O(n^2)。是穩(wěn)定的排序方法。插入算法把要排序的數組分成兩部分:第一部分包含了這個數組的所有元素,但將最后一個元素除外(讓數組多一個空間才有插入的位置),而第二部分就只包含這一個元素(即待插入元素)。在第一部分排序完成后,再將這個最后元素插入到已排好序的第一部分中。
二、java代碼實現
public class InsertSort { public static void inserSort(int[] array){ if (array==null||array.length<2){ return; } for (int i=1;i<array.length;i++){ //默認第一個元素為有序隊列,從第二個元素開始循環(huán)插入 int position=array[i]; //設置第二個元素為要插入的數據 int j=i-1; while (j>=0&&position<array[j]){ array[j+1]=array[j]; //如果插入發(fā)數小于第j個元素,將第j個數向后移 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)定
空間復雜度O(1)
時間復雜度O(n2)
最差情況:反序,需要移動n*(n-1)/2個元素
最好情況:正序,不需要移動元素
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
SpringMVC 重定向參數RedirectAttributes實例
這篇文章主要介紹了SpringMVC 重定向參數RedirectAttributes實例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12