数组排序-冒泡排序

数组排序是指把数组中的数据由小到大进行重新的组织。我们接下来介绍一下数组排序之选择排序。

选择排序:首先找出数组中最小元素与位置0位置处元素交换,再找出次最小元素与位置1元素交换,再找出次最小元素与位置2元素交换....依次类推,最终实现了从小到大的升序排序

public static void main(String[] args) {
    /**
     * 选择排序:首先找出数组中最小元素与位置0元素交换,
     * 再找出次最小元素与位置1元素交换,
     * 再找出次最小元素与位置2元素交换,
     * 最终实现了从小到大的升序排序
     *
     */

    // 1.现在随便定义一个数组
    int[] arrs = {20,50,40,10,30,60};
    // 2.首先通过循环来遍历数组
    for(int i = 0 ; i < arrs.length ; i++ ){
        // i 从 0 1 2 3 4 5开始依次寻找这六个位置应该放的最小值!!
        // 当前位置是 arrs[i]
        // 我们接下来要从这个位置的后面开始依次找出是否有比当前这个位置元素更
        // 小的元素,如果有,把更小的元素与这个位置的元素进行交换即可
        // i+1表示从这个位置的后一个位置开始循环找是否有比i位置更小的元素
        for( int j = i+1 ; j < arrs.length ; j++ ){
            if(arrs[j] < arrs[i]){
                // 交换位置
                int temp = arrs[i]; // 临时存放i位置处的元素值
                // 开始交换
                arrs[i] = arrs[j];
                arrs[j] = temp ;
            }
        }
    }
    // 遍历输出数组,看是否排序完成!
    for(int ele : arrs){
        System.out.println(ele);
    }
}

数组是:

int[] arrs = {20,50,40,10,30,60};

流程:

当i=0,表示寻找第一个位置应该放置的最小元素,所以从j=1开始找,第一轮找完数组的内容是

int[] arrs = [10,..........]; 此时已经找出来了第一个位置应该放置的最小值!

当i=1,表示寻找第二个位置应该放置的最小元素,所以从j=2开始找,第二轮找完数组的内容是

int[] arrs = [10 20,........]; 此时已经找出来了第二个位置应该放置的最小值!

当i=2,表示寻找第三个位置应该放置的最小元素,所以从j=3开始找,第三轮找完数组的内容是

int[] arrs = [10 20,30........]; 此时已经找出来了第一个位置应该放置的最小值!

....

最终实现了数组的排序!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值