Java數(shù)據(jù)結(jié)構(gòu)及算法實(shí)例:插入排序 Insertion Sort
更新時間:2015年06月20日 11:22:34 投稿:junjie
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)及算法實(shí)例:插入排序 Insertion Sort,本文直接給出實(shí)例代碼,代碼中包含詳細(xì)注釋,需要的朋友可以參考下
/**
* 選擇排序的思想:
* 每次循環(huán)前,數(shù)組左邊都是部分有序的序列,
* 然后選擇右邊待排元素,將其值保存下來
* 依次和左邊已經(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)文章
Struts2實(shí)現(xiàn)自定義攔截器的三種方式詳解
這篇文章主要介紹了Struts2實(shí)現(xiàn)自定義攔截器的三種方式詳解,一些與系統(tǒng)邏輯相關(guān)的通用功能如權(quán)限的控制和用戶登錄控制等,需要通過自定義攔截器實(shí)現(xiàn),本節(jié)將詳細(xì)講解如何自定義攔截器,需要的朋友可以參考下2023-07-07
Spring?IOC?xml方式進(jìn)行工廠Bean操作詳解
這篇文章主要介紹了Spring?IOC?xml方式進(jìn)行工廠Bean操作,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-01-01
解決Spring Boot和Feign中使用Java 8時間日期API(LocalDate等)的序列化問題
這篇文章主要介紹了解決Spring Boot和Feign中使用Java 8時間日期API(LocalDate等)的序列化問題,需要的朋友可以參考下2018-03-03

