选择排序
直接选择排序:
思路(按升序):第一轮要在位置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微信是目前国内市场用户量最大的窗口,也是App推广中绕不开的渠道来源。通常微信扫描二
真彩色与伪彩色、直接色的区别 描述一幅图像需要使用图像的属性。图像的属性包含分辨率、像素深度、真/伪彩色、图像的表示
该微博营销是一个非常热门的话题,引起乐观的人的影响,很多人都比较困难的工作,和我的一些我在这里的技巧。1.改进新浪微博的基本信息