为了账号安全,请及时绑定邮箱和手机立即绑定

冒泡排序的问题

冒泡排序的问题

qq_慕标6304929 2020-03-19 10:25:20
请用程序实现:定义一个长度为9的数组;输入9个数字,进行冒泡排序, 使其按照从小到大的顺序排列, 并将排列后的结果输出。示例输入25 10 21 23 3 5 1 2 0输出0,1,2,3,5,10,21,23,25
查看完整描述

2 回答

?
亚平宁的微风

TA贡献1条经验 获得超1个赞

        int[] arr = { 85, 65, 27, 9, 56, 18 };
        System.out.println("排序前的数组为: " + Arrays.toString(arr));
        for (int i = 0; i < arr.length; i++) {// 外层循环控制排序趟数
            for (int j = 0; j < arr.length - 1 - i; j++) {// 内层循环控制每一趟排序多少次
                if (arr[j] > arr[j + 1]) {
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
        System.out.println("排序后的数组为: " + Arrays.toString(arr));

查看完整回答
1 反对 回复 2020-03-20
  • 亚平宁的微风
    亚平宁的微风
    冒泡排序是比较相邻的元素(两两比较),如果第一个比第二个大,就交换他们两个。一直到第一次循环结束最大的数排到最后,接着从第一个元素开始进行第二轮比较,比较的次数为上轮-1;直到没有任何一对需要比较,结束
?
柳太爷

TA贡献46条经验 获得超4个赞

//对数组中的内容进行排序,冒泡算法,大泡往下沉,1是升序,2是降序
public static int[] ArraySort1(int[] a,int c){
    for(int i=1;i<a.length;i++){
        for(int j=0;j<a.length-i;j++){
            if(c == 1){
                if(a[j] >  a[j+1]){
                    int b = a[j+1];
                    a[j+1] = a[j];
                    a[j] = b;
                }
            }else if(c == 2){
                if(a[j] < a[j+1]){
                    int b = a[j+1];
                    a[j+1] = a[j];
                    a[j] = b;
                }
            }
        }
    }
    return a;
}


查看完整回答
反对 回复 2020-03-19
  • 2 回答
  • 0 关注
  • 523 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信