排序算法插入排序

插入排序(Insert Sort)
直接插入排序的基本操作是將一個記錄插入到已經(jīng)排好的有序表中,從而得到一個新的、記錄數(shù)增1的有序表,類似打撲克牌排列表。

時間復(fù)雜度:

1)最好情況o(n)

2)最壞情況o(n2/4)
插入排序比選擇排序及冒泡排序性能好些

Paste_Image.png
static void insertSort(int[] array) {  
       if (array != null && array.length > 0) {  
           int i, j, key;  
           for (i = 1; i < array.length; i++) {  
               key = array[i];  
               j = i - 1;  
               while (j >= 0 && key < array[j]) {  
                   array[j + 1] = array[j];//// 如果要插入的元素小于第j個元素,就將第j個元素向后移動  
                   j--;  
               }  
               array[j + 1] = key;// 直到要插入的元素不小于第j個元素,將insertNote插入到數(shù)組中  
           }  
       }  
   }```

/**

  • 將數(shù)組的2個位置交換
    */
    static void swap(int[] array, int i, int j) {
    if (array != null && array.length > 0) {
    if (i >= 0 && j >= 0 && i <= array.length && j <= array.length) {
    int temp = array[i];
    array[i] = array[j];
    array[j] = temp;
    }
    }
    }```
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容