Java數(shù)據(jù)結(jié)構(gòu)及算法實例:選擇排序 Selection Sort
更新時間:2015年06月20日 11:20:33 投稿:junjie
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)及算法實例:選擇排序 Selection Sort,本文直接給出實現(xiàn)代碼,代碼中包含詳細(xì)注釋,需要的朋友可以參考下
/**
* 選擇排序的思想:
* 每次從待排序列中找到最小的元素,
* 然后將其放到待排的序列的最左邊,直到所有元素有序
*
* 選擇排序改進(jìn)了冒泡排序,將交換次數(shù)從O(N^2)減少到O(N)
* 不過比較次數(shù)還是O(N)
*/
package al;
public class SelectSort {
public static void main(String[] args) {
SelectSort selectSort = new SelectSort();
int[] elements = { 14, 77, 21, 9, 10, 50, 43, 14 };
// sort the array
selectSort.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 min, tmp;
for(int i=0; i<array.length; i++) {
min = i;
// search for the minimum element
for(int j=i; j<array.length; j++) {
if(array[j] < array[min]) {
min = j;
}
}
// swap minimum element
tmp = array[i];
array[i] = array[min];
array[min] = tmp;
}
}
}
您可能感興趣的文章:
- java排序算法之_選擇排序(實例講解)
- java數(shù)據(jù)結(jié)構(gòu)排序算法之樹形選擇排序詳解
- Java 選擇排序、插入排序、希爾算法實例詳解
- java數(shù)據(jù)結(jié)構(gòu)與算法之簡單選擇排序詳解
- Java實現(xiàn)的各種排序算法(插入排序、選擇排序算法、冒泡排序算法)
- Java實現(xiàn)選擇排序算法的實例教程
- Java經(jīng)典算法匯總之選擇排序(SelectionSort)
- Java對數(shù)組實現(xiàn)選擇排序算法的實例詳解
- Java排序算法總結(jié)之選擇排序
- java實現(xiàn)選擇排序算法
- JAVA簡單選擇排序算法原理及實現(xiàn)
- java 合并排序算法、冒泡排序算法、選擇排序算法、插入排序算法、快速排序算法的描述
- Java排序算法之選擇排序
相關(guān)文章
Fluent Mybatis學(xué)習(xí)之Update語法實踐
Fluent MyBatis是一個MyBatis的增強(qiáng)工具,沒有對mybatis做任何修改。本篇文章將詳細(xì)介紹對Fluent Mybatis中的update語法進(jìn)行驗證。代碼具有一定價值,感興趣的小伙伴可以學(xué)習(xí)一下2021-11-11
Spring?Mvc中CommonsMultipartFile的特性實例詳解
這篇文章主要給大家介紹了關(guān)于Spring?Mvc中CommonsMultipartFile特性的相關(guān)資料,SpringMVC擁有強(qiáng)大的靈活性,非侵入性和可配置性,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11
spring boot中xalan引入報錯系統(tǒng)找不到指定的文件原因分析
這篇文章主要介紹了spring boot中xalan引入報錯系統(tǒng)找不到指定的文件,主要原因是內(nèi)嵌的tomcat9.0.36,本文給大家分享最新解決方法,需要的朋友可以參考下2023-08-08
InputStream數(shù)據(jù)結(jié)構(gòu)示例解析
這篇文章主要為大家介紹了InputStream數(shù)據(jù)結(jié)構(gòu)示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
springBoot集成Elasticsearch 報錯 Health check failed的解決
這篇文章主要介紹了springBoot集成Elasticsearch 報錯 Health check failed的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08
解讀springboot配置mybatis的sql執(zhí)行超時時間(mysql)
這篇文章主要介紹了解讀springboot配置mybatis的sql執(zhí)行超時時間(mysql),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01

