Java數(shù)據(jù)結(jié)構(gòu)及算法實(shí)例:插入排序 Insertion Sort
/** * 選擇排序的思想: * 每次循環(huán)前,數(shù)組左邊都是部分有序的序列, * 然后選擇右邊待排元素,將其值保存下來(lái) * 依次和左邊已經(jīng)排好的元素比較 * 如果小于左邊的元素,就將左邊的元素右移一位 * 直到和最左邊的比較完成,或者待排元素不比左邊元素小 */ package al; public class InsertionSort { public static void main(String[] args) { InsertionSort insertSort = new InsertionSort(); int[] elements = { 14, 77, 21, 9, 10, 50, 43, 14 }; // sort the array insertSort.sort(elements); // print the sorted array for (int i = 0; i < elements.length; i++) { System.out.print(elements[i]); System.out.print(" "); } } /** * @author * @param array 待排數(shù)組 */ public void sort(int[] array) { // min to save the minimum element for each round int key; // save current element for(int i=0; i<array.length; i++) { int j = i; // current position key = array[j]; // compare current element while(j > 0 && array[j-1] > key) { array[j] = array[j-1]; //shift it j--; } array[j] = key; } } }
相關(guān)文章
深入解析Java中的編碼轉(zhuǎn)換以及編碼和解碼操作
這篇文章主要介紹了Java中的編碼轉(zhuǎn)換以及編碼和解碼操作,文中詳細(xì)解讀了編碼解碼的相關(guān)IO操作以及內(nèi)存使用方面的知識(shí),需要的朋友可以參考下2016-02-02MyBatis動(dòng)態(tài)<if>標(biāo)簽使用避坑指南
這篇文章主要為大家介紹了MyBatis動(dòng)態(tài)<if>標(biāo)簽使用避坑指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03JavaWeb實(shí)現(xiàn)注冊(cè)用戶(hù)名檢測(cè)
這篇文章主要為大家詳細(xì)介紹了JavaWeb實(shí)現(xiàn)注冊(cè)用戶(hù)名檢測(cè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08史上最簡(jiǎn)單的MyBatis動(dòng)態(tài)SQL入門(mén)示例代碼
動(dòng)態(tài)sql,可以根據(jù)用戶(hù)對(duì)字段選擇和輸入,動(dòng)態(tài)生成一條sql執(zhí)行。接下來(lái)通過(guò)本文給大家分享MyBatis動(dòng)態(tài)SQL入門(mén)示例代碼,一起看看吧2017-03-03SpringMVC中Invalid bound statement (not f
本文主要介紹了SpringMVC中Invalid bound statement (not found)常見(jiàn)報(bào)錯(cuò)問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05Java HashMap 如何正確遍歷并刪除元素的方法小結(jié)
這篇文章主要介紹了Java HashMap 如何正確遍歷并刪除元素的方法小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05基于Java并發(fā)容器ConcurrentHashMap#put方法解析
下面小編就為大家?guī)?lái)一篇基于Java并發(fā)容器ConcurrentHashMap#put方法解析。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06RabbitMQ交換機(jī)使用場(chǎng)景和消息可靠性總結(jié)分析
這篇文章主要為大家介紹了RabbitMQ交換機(jī)使用場(chǎng)景和消息可靠性總結(jié)分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01