1.原理
创新互联是一家专业提供饶阳企业网站建设,专注与成都做网站、网站设计、外贸营销网站建设、H5响应式网站、小程序制作等业务。10年已为饶阳众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。选择排序和冒泡排序类似,但是选择排序是采用一个变量来接受 最小值的下标,因此每一趟比较只需要交换一次数组元素即可。
2.举例
数组a[]={21,3,44,22},用选择排序算法升序排序。 设置一个变量min来接受最小值下标,min初始值为0,即a[min]=a[1] 第一趟:a[1]与a[min]比,3小于21,于是min=1 a[2]与a[min]比,3小于44,min不变 a[3]与a[min]比,3小于22,min不变 将a[min]与a[0]互换,a[]={3,21,44,22} 选择出了最小的数3,放在数组第一位,3不参与接下来比较 因此min往后挪一位,min=1 第二趟:a[2]与a[min]比,21小于44,min不变 a[3]与a[min]比,21小于22,min不变 将a[min]与a[1]互换,a[]={3,21,44,22} 选择出了最小的数21放在数组第二位,3和21不参与接下来比较 因此min往后挪一位,min=2 第三趟: a[3]与a[min]比,44大于22,于是min=3 将a[min]与a[2]互换,a[]={3,21,22,44} 排序完毕
3.java代码
package sort;
import java.util.Arrays;
public class SelectSort {
public static void main(String[] args) {
int a[]={21,3,44,22};
selectSort(a);
System.out.println(Arrays.toString(a));
}
//选择排序
public static void selectSort(int[] a){
int min;
int temp;
if(a==null||a.length==0){
return;
}
for(int i=0;i<a.length-1;i++){
min=i;
for(int j=i+1;j<a.length;j++){
if(a[j]<a[min]){
min=j;
}
}
temp=a[min];
a[min]=a[i];
a[i]=temp;
}
}
}
输出结果:[2, 3, 21, 22, 44]
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
分享文章:选择排序算法-创新互联
本文来源:https://www.cdcxhl.com/article18/ccgjdp.html
成都网站建设公司_创新互联,为您提供网站制作、品牌网站制作、网站设计公司、全网营销推广、App设计、网站策划
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联