设为首页 加入收藏

TOP

排序算法之直接选择排序Java版
2019-05-11 02:16:15 】 浏览:105
Tags:排序 算法 直接 选择 Java
/**
 * 直接选择排序
 * 直接选择排序是一种不稳定的排序
 * 时间复杂度为 O(n^2),当记录占用字节数较多时,直接选择排序通常比直接插入排序的执行速度快些。
 * 空间复杂度为O(1)
 * 
 * 原理:从未排序序列中找到最小元素,存放到已排序序列的末尾,以此类推,直到所有元素均排序完毕。
 */
public class DirectSelectionSort {
	public void sort(int[] arr){
		int i,j,min,tmp,len = arr.length;
		for(i = 0; i < len; i++){
			min = i;
			
			//从arr[i]~arr[len-1]中找出最小的记录
			for(j = i + 1; j < len; j++){
				if(arr[min] > arr[j]){
					min = j;
				}
			}
			
			//如果最小记录不是arr[i],把arr[i]和arr[min]交换位置
			//使得arr[0]~arr[i]是有序序列,而且比arr[i+1]~arr[len-1]中任何记录都小
			if(min != i){
				tmp = arr[i];
				arr[i] = arr[min];
				arr[min] = tmp;
			}
		}
	}
}

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇tomcat 6x and 7x https配置 下一篇ubuntu下配置DNS

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目