5 回答
TA贡献4条经验 获得超0个赞
int[]arr={24,9,0,1,5,35,92,6,9,3};
for (int i = 0; i < arr.length-1; 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;
}
}
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr+"\t");
}
TA贡献2条经验 获得超0个赞
写了数据结构中的冒泡排序的算法,应该是C语言版的。
int []array=new int;
int temp=0;
for(int i=0;i<array.length-1;i++)
{
for(int j=i+1;j<array.length;j++)
{
if(array[j]<array[i])
{
temp=array[i];
array[i]=array[j];
array[j]=temp;
}
}
}
TA贡献3条经验 获得超1个赞
public static void swap(int a, int b) {
if (a > b) {
int temp;
temp = a;
a = b;
b = temp;
}
JAVA中虽然没有指针,但是还是有形参和实参的区别,当你调用这个方法的时候,相当于a=arr[j],b=arr[j+1],实际上你这段代码交换的是a和b,而你的arr[j]和arr[j+1]是没有交换的,你最好
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]);//改成if (arr[j] > arr[j+1]) {
int temp;
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
TA贡献1123条经验 获得超629个赞
基础数据类型作为参数都是值传递,不会改变传入的参数本身的值
你这里把swap方法写成
public static void swap(int[] arr,int i,int j)
这样的形式,传入数组本身和两个下标,这样交换数据才会影响main方法里的数组变量
添加回答
举报