插入排序 Java實現

2021-08-01 08:42:23 字數 1062 閱讀 1591

插入排序,顧名思義就是將乙個數插入到一組已經生成的有序陣列當中,使之成為一組新的有序陣列。那麼我們考慮存在一組陣列,,首先將p1插入到陣列中,使之成為有序陣列;接著將p2插入到陣列中,使之成為有序陣列......最後將pn插入到陣列中,使之成為有序陣列,這個有序陣列也就是我們最後的結果。

附上**和實驗結果:

public static void main(string args);

insertsort(t);

for(int a :t)}/*

* 實現t陣列的插入排序,從小到大

*/public static void insertsort(int t);

insertsort(t);

for(int a :t)}/*

* 實現t陣列的插入排序,從小到大

*/public static void insertsort(int t)

t[j+1]=temp;

}}/*

* 將陣列中下標為i與下標為k的數進行交換

*/public static void swap(int t,int i,int j)

}

這樣就比上面縮短了一半的時間。其實我們可以再考慮,如果採用折半搜尋來獲得要插入元素的位置,這樣又減少了一定的時間。

/*

* 返回元素要插入的位置

*/public static int midsearch(int temp,int t,int

left,int

right)else

if(temp>t[mid])else return mid;

}else

if(left==right)else return mid;

}else return -1; }/*

* 實現t陣列的插入排序,從小到大

*/public static void insertsort(int t)

t[pos+1]=temp;}}

插入排序 Java實現

插入排序 insertsort 插入排序通過把序列中的值插入乙個已經排序好的序列中,直到該序列的結束。插入排序是對氣泡排序的改進。它比氣泡排序快2倍。一般不用在資料大於1000的場合下使用插入排序,或者重複排序超過200資料項的序列。1 思想 每次選擇乙個元素k插入到之前已排好序的部分a 1 i 中...

JAVA實現插入排序

一般來說,插入排序都採用in place在陣列上實現。具體演算法描述如下 從第乙個元素開始,該元素可以認為已經被排序 取出下乙個元素,在已經排序的元素序列中從後向前掃瞄 如果該元素 已排序 大於新元素,將該元素移到下一位置 重複步驟3,直到找到已排序的元素小於或者等於新元素的位置 將新元素插入到該位...

java實現插入排序

通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應的位置並插入。插入排序非常類似於整撲克牌。在開始摸牌時,左手是空的,牌面朝下放在桌上。接著,一次從桌上摸起一張牌,並將它插入到左手一把牌中的正確位置上。為了找到這張牌的正確位置,要將它與手中已有的牌從右到左地進行比較。無論什麼時候...