java插入排序
阿新 • • 發佈:2018-02-14
一個數 開始 個數 else 亂序 依次 pre new ava
插入排序的思想就和玩撲克是的摸牌一樣,摸到一張牌放手上,再摸一
張和之前的比較,大的就放後面,小的就放前面。
一個數列我們把它分為兩個區,一個是已經排序的區,一個是亂序區,選取第
一個元素出來作為排序區的元素,然後從第二個元素開始往後作為亂序區,從
第二個元素開始(並把這個元素復制出來叫做下標元素),分別和排序區的元素比較大小,如果這個元素比排序區的元
素小,則把排序區的元素依次往後一位,然後把下標元素復制進空出來的位
置,這樣就完成一次排序,直到排序完成。
下面看代碼:
int[] a = new int[10]{2,443,34,231,34,34,4,5,43,4};
for(int i = 1;i<a.length;i++){
int index = a[i];
for(int j = i-1;j>=0;j--){
if(index<a[j]&&i==1||index<a[j]&&index>a[j-1]){
a[j+1]=a[j];
a[j] = index;
}
else if(index>=a[j]){
break;
}
}
java插入排序