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

冒泡法输出的结果没变化

package com.imooc;


public class test111 {

public static void main(String[] args) {

int[] arr = { 24, 69, 80, 57, 13 };

for (int i = 0; i < arr.length - 1; i++) {

for (int j = 0; j < arr.length - 1 - i; j++) {

swap(arr[j], arr[j + 1]);

}


}

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

System.out.print(arr[i] + " ");

}

}


public static void swap(int a, int b) {

if (a > b) {

int temp;

temp = a;

a = b;

b = temp;

}


}


}



正在回答

2 回答

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

for(int j=0;j<arr.length;j++){

if(arr[j]>arr[j+1]){

int temp;

temp = arr[ j ];

arr[ j ] =arr [ j+1 ];

arr[ j+1] =temp;

}

}

}

0 回复 有任何疑惑可以回复我~
#1

qq_就此别过_0 提问者

额 swap(arr[j], arr[j + 1]) 把里面的值分别传给 a,b ,这里那里有问题
2016-07-21 回复 有任何疑惑可以回复我~
#2

辛辛那提丶德 回复 qq_就此别过_0 提问者

你这种传值格式不对的
2016-07-21 回复 有任何疑惑可以回复我~
#3

qq_就此别过_0 提问者 回复 辛辛那提丶德

是不是格式对着呢可以是因为是方法里的会被弹出栈所以不对 传入引用类型的话才会赋值成功
2016-07-21 回复 有任何疑惑可以回复我~
#4

qq_就此别过_0 提问者 回复 辛辛那提丶德

差不多理解了 谢谢了啊
2016-07-21 回复 有任何疑惑可以回复我~
查看1条回复

把两个for 写public static void swap(){}方法里去

0 回复 有任何疑惑可以回复我~
#1

辛辛那提丶德

你的 int a 和 int b 没意义,数组没有赋值给a,b怎么比较?
2016-07-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       529884    人
  • 解答问题       6086    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

冒泡法输出的结果没变化

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信