java冒泡排序swap不能实现功能

publicclassTs{publicvoidbubbleSort(){intin,out;inta[]={5,6,7,1};for(out=a.length-1;ou... public class Ts {
public void bubbleSort()
{
int in,out;
int a[]={5,6,7,1};
for(out=a.length-1;out>0;out--)
for(in=0;in<out;in++)
{
if(a[in]>a[in+1])
swap(in,in+1);
}
System.out.println(a[0]+","+a[1]+","+a[2]+","+a[3]);
}
public static void swap(int x,int y) {
int temp =x;
x=y ;
y=temp;
}

public static void main(String[] args) {
Ts b = new Ts();
b.bubbleSort();
}

}
展开
 我来答
icosplay
2012-03-28 · TA获得超过248个赞
知道小有建树答主
回答量:272
采纳率:0%
帮助的人:144万
展开全部
你那是值传递,是值的副本,不会改变的。
int data[]={5,6,7,1};
for (int i = 0; i < data.length - 1; i++) {
boolean flag = false;
for (int j = 0; j < data.length - 1 - i; j++) {
if (data[j] > data[j + 1]) {
swap(data, j, j+1);
}
}
}
void swap(int[] data, int i, int j) {
int temp = data[i];
data[i] = data[j];
data[j] = temp;
}
追问
要在swap里面加个数组来改变原来的数组值么
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式