冒泡排序(JAVA)

冒泡排序思想:

对于一个待排数组,先将0位置的数据和1位置的数据进行比较,大的放在1位置,再将1位置的数据与2位置的数据进行比较,大的放在2位置,以此类推,遍历一次数组之后,最大的数据就放到了最末尾的位置,再对剩余的数组重复上述过程,直到整个数组排好

Java代码实现:

public class bubbleSort {
    public static void bubblesort(int[] arr){
        if(arr == null || arr.length < 2){
            System.out.println("此数组无法排序!");
            return;
        }
        //确定当前一次冒泡的范围
        for(int i = (arr.length - 1); i >= 1; i--){
            //比较j位置元素与j+1位置元素的大小,如果j位置元素更大,交换j和j+1位置的元素
            for(int j = 0; j < i; j++) {
                if (arr[j] > arr[j + 1]) {
                    swap(arr, j);
                }
            }
        }
    }
    
    //将数组中的指定元素与它的后一位元素交换
    public static void swap(int[] arr, int a){
        int temp = arr[a];
        arr[a] = arr[a+1];
        arr[a+1] = temp;
    }

    public static void main(String[] args){
        int[] arr = {3,1,5,2,7,4,6,3};
        bubblesort(arr);
        System.out.println(Arrays.toString(arr));
    }
}

以上内容为个人学习总结,如有错误,欢迎指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值