簡說插入排序

2021-08-16 21:23:38 字數 943 閱讀 6217

在插入排序中,每次確定乙個元素的插入位置,在確定過程中,我們會將該元素依次與前乙個元素作對比,如果前乙個元素比該元素大,則交換二者的位置(假定我們按照從大到小排序),直至前乙個元素比該元素小時,停止對比,這就意味著該元素找到了目前最合適的位置。

上面是排序的基本過程,假定我們有乙個待排序的陣列,長度為10。

首先我們取出第二個元素,將其與前乙個元素對比,若第前乙個元素大於該元素,則交換位置,然後我們就為陣列的前兩個元素排序完成。

其次我們取出第三個元素,將其與前乙個元素對比,若第前乙個元素大於該元素,則交換位置,然後重複對比過程,直至前乙個元素小於該元素,則我們就為陣列的前三個元素排序完成。

以此類推,最終我們就能完成整個資料的排序。在這個過程中,我們會發現,待排序元素前面所有的元素都是有序的。

**塊

public

class

test ;

sort(strarray);

}//排序

public

static

void

sort(string strarray)

}

//插入排序演算法結束

system.out.println("排序後:" + print(strarray));

}//返回陣列字串

public

static string print(string strarray)

return string.tostring();

}//資料元素交換位置

public

static

void

exch(string strarray, int i, int j)

}

執行結果

插入排序 折半插入排序

折半插入排序 binary insertion sort 直接插入排序採用順序查詢法查詢當前記錄在已排好序的序列中插入位置,這個 查詢 操作可利用 折半查詢 來實 現,由此進行的插入排序稱之為折半插入排序 binary insertion sort 演算法思想 1 將待排序的記錄存放在陣列r 1.n...

插入排序 折半插入排序

折半插入排序是基於直接插入排序的優化。直接插入排序 將第i個元素插入時,通過折半查詢的方式,來查詢第i個元素合適的位置。當0 i 1 位置上的元素都已經排序ok,現需要插入第i個元素,設其值為temp 令low 0,high i,mid high low 2。那麼temp可能插入的位置是 low h...

插入排序 希爾插入排序

本文借鑑於lsgo實驗室創始人馬老師 演算法 希爾插入排序 delta len nums 2 while delta 0 shell delta,nums delta delta 2return nums defshell delta,key for i in range delta,len key...