Java数据结构及算法实例:选择排序 Selection Sort
更新时间:2015年06月20日 11:20:33 投稿:junjie
这篇文章主要介绍了Java数据结构及算法实例:选择排序 Selection Sort,本文直接给出实现代码,代码中包含详细注释,需要的朋友可以参考下
/**
* 选择排序的思想:
* 每次从待排序列中找到最小的元素,
* 然后将其放到待排的序列的最左边,直到所有元素有序
*
* 选择排序改进了冒泡排序,将交换次数从O(N^2)减少到O(N)
* 不过比较次数还是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 待排数组
*/
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;
}
}
}
相关文章
详解Spring Security的formLogin登录认证模式
对于一个完整的应用系统,与登录验证相关的页面都是高度定制化的,非常美观而且提供多种登录方式。这就需要Spring Security支持我们自己定制登录页面,也就是本文给大家介绍的formLogin模式登录认证模式,感兴趣的朋友跟随小编一起看看吧2019-11-11
spring中通过ApplicationContext getBean获取注入对象的方法实例
今天小编就为大家分享一篇关于spring中通过ApplicationContext getBean获取注入对象的方法实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2019-03-03
SpringBoot整合Flink CDC实现实时追踪mysql数据变动
我们将整合Spring Boot和Apache Flink CDC(Change Data Capture)来实现实时数据追踪,下面是一个基本的实践流程代码,包括搭建Spring Boot项目、整合Flink CDC以及实现数据变动的实时追踪,需要的朋友可以参考下2024-07-07
Java关于BeabUtils.copyproperties的用法
这篇文章主要介绍了Java关于BeabUtils.copyproperties的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-08-08


最新评论