java选择排序简书_Java 选择排序

Java 选择排序,先看下面代码

private static int[] selectSort(int[] numbs) {

for (int i = 0; i < numbs.length; i++) {

int minIndex = i;// 将当前下标定义为最小值下标

for (int j = i+1; j

if (numbs[minIndex] > numbs[j]) {

minIndex = j;

}

}

//如果不是同一个,就交换

if (i != minIndex) {

int temp = numbs[i];

numbs[i] = numbs[minIndex];

numbs[minIndex] = temp;

}

}

return numbs;

}

测试代码:

public static void main(String[] a) {

int[] numbs = {1, 3, 4, 2, 9, 0,1};

System.out.print("This is : " + Arrays.toString(selectSort(numbs)));

}

运行结果:

ba4914b03c69?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

运行结果

基本思想

1,每一次都从待排序中找出最小的元素,放到已排序后面,直到全部记录排序完毕。

比如:上面例子中,i=0的时候,循环到 j =5 该条件成立,此时的值为:0,比 1小,故进入下面的 if 语句中,执行交换操作!!以此类推,循环执行完 i = 1 ,2, 3.....(每次都是找出最小的元素,放到已经排序完成的序列后)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值