来自c#的Java第一天。我只是在玩玩intArray (只是为了好玩),觉得这个例子很有趣,我想知道的是冒泡排序方法是如何访问java的?好的,我知道它是作为一个变量传递的。但是它修改了原始的数组吗?我可以理解冒泡排序方法打印了新的数组,但它是原始方法吗?很酷,但现在确定这是如何/为什么被允许的?(希望我解释正确了)
public class HelloWorld {
public static void main(String[] args) {
//create an int array we want to sort using bubble sort algorithm
int intArray[] = new int[]{5,90,35,45,150,3};
//print array before sorting using bubble sort algorithm
System.out.println("Array Before Bubble Sort");
for(int i=0; i < intArray.length; i++)
System.out.print(intArray[i] + " ");
//sort an array in descending order using bubble sort algorithm
bubbleSort(intArray);
System.out.println("");
//print array after sorting using bubble sort algorithm
System.out.println("Array After Bubble Sort");
for(int i=0; i < intArray.length; i++)
System.out.print(intArray[i] + " ");
}
private static void bubbleSort(int[] intArray){
int n = intArray.length;
int temp = 0;
for(int i=0; i < n; i++){
for(int j=1; j < (n-i); j++){
if(intArray[j-1] < intArray[j]){
//swap the elements!
temp = intArray[j-1];
intArray[j-1] = intArray[j];
intArray[j] = temp;
}
}
}
}
}发布于 2011-09-20 09:55:47
严格地说,您不是在修改数组,而是在位置中移动它的内容
1,3,2,4 => 1,2,3,4是相同的4长度数组,但第二位和第三位的内容值发生了变化。
https://stackoverflow.com/questions/7478667
复制相似问题