必威体育Betway必威体育官网
当前位置:首页 > IT技术

选择排序--简单选择排序与直接选择排序的区别

时间:2019-06-19 04:44:17来源:IT技术作者:seo实验室小编阅读:50次「手机版」
 

选择排序

直接选择排序:

思路(按升序):第一轮要在位置0找到最小的元素,所以0要与(0+1)~length-1挨个比;

第二轮要在位置1找到第二小的元素,所以1要与(1+1)~length-1挨个比;

第n轮要在位置n-1找到对应元素,所以n要与(n+1)~length-1挨个比;

位置length-2与位置length-1比较,确定length-2对应的元素length-1自然就确定了,因为已经没有可比较的了。

综上,一共需要比较length-2轮,即外循环0<=n<length-1,也可以说是有length-1个位置需要确定;每轮需要n与n+1~length-1比较,即内循环n+1<=m<length

简单选择排序:

直接选择排序每次遇到n-1>n 的时候就要发生交换;简单选择排序则只是记录下较大那个元素的位置,这样一轮过后这个记录变身本轮所要选取的最大值,而每轮需要确定的位置已由外层循环确定,只需将最大元素位置记录所对应的元素与要确定的位置交换机可。

/**
	 * 简单选择排序
	 * @param arr 排序数组
	 */
	public static void sort(int[] arr) {
		int min;
		for(int i=0;i<arr.length-1;i++) {
			min = i;
			for(int j=i+1;j<arr.length;j++) {
				if(arr[min]>arr[j]) {
					min = j;
				}
			}
			if(min!=i) {
				arr[min]=arr[i]+arr[min];
				arr[i]=arr[min]-arr[i];
				arr[min]=arr[min]-arr[i];
			}
		}
		System.out.println(Arrays.toString(arr));
	}

相关阅读

sqlserver 2008 r2 企业版、开发板、标准版直接下载地

sqlserver 2008 r2 企业版、开发板、标准版下载地址 链接:https://pan.baidu.com/s/1_BLZZQd7GH4JZhC4kpOgGg提取码:557m下载的是企

docker容器的网络配置,允许docker可以被宿主机以外的其

自从Docker容器出现以来,容器的网络通信就一直是被关注的焦点,也是生产环境的迫切需求。容器的网络通信又可以分为两大方面:单主机容

一招实现微信直接下载APK,告别“点击右上角”

免费功能:告别“点击右上角”,微信直接下载APK微信是目前国内市场用户量最大的窗口,也是App推广中绕不开的渠道来源。通常微信扫描二

真彩色与伪彩色、直接色的区别

真彩色与伪彩色、直接色的区别 描述一幅图像需要使用图像的属性。图像的属性包含分辨率、像素深度、真/伪彩色、图像的表示

如何直接有效的在微博中推广营销

该微博营销是一个非常热门的话题,引起乐观的人的影响,很多人都比较困难的工作,和我的一些我在这里的技巧。1.改进新浪微博的基本信息

分享到:

栏目导航

推荐阅读

热门阅读