Java基础排序之选择排序

选择排序

选择排序从理解上可以当作两个数组储存来理解:
我先定义一个无序数组{11,23,155,156,32,33,88,42},一个有序数组{}
依次从无序数组中取出最小的一个元素放进有序数组中
{11,},{23,155,156,32,33,88,42}
{11,23},{155,156,32,33,88,42}
{11,23,32},{155,156,33,88,42}
{11,23,32,33},{155,156,88,42}
{11,23,32,33,42},{155,156,88}
{11,23,32,33,42,88},{155,156}
{11,23,32,33,42,88,155},{156}
{11,23,32,33,42,88,155,156},{}
代码如下

public class selectionSort {
    public static void main(String[] args) {
        //原始无序数组
    int [] number = {11,23,155,156,32,33,88,42};
    //默认从number[0]开始,循环number.length-1次
        for (int i = 0; i < number.length-1; i++) {
            //定义最小的序列
            int minIndex = i;
            int j;
            //循环没有比较过的的数
            for (j = i+1; j < number.length; j++) {
                //如果当前数比前一个大则交换当前数与前一个数的序列
                if (number[j]<number[minIndex]){
                    minIndex=j;
                }
            }

            //交换序列后进行值的交换
            int temp = number[minIndex];
            number[minIndex] = number[i];
            number[i] = temp;
        }

        for (int i = 0; i < number.length; i++) {
            System.out.println(number[i]);
        }

    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值