长话短说。我应该编写一个包含10个整数的单维数组的程序,并使用冒泡排序对数组进行排序。
现在到目前为止我写道:
System.out.print("The unsorted list is: ");
int[] numbers = new int[10];
//Generates 10 Random Numbers in the range 1 -100
for(int i = 0; i < numbers.length; i++) {
numbers[i] = (int)(Math.random() * 100 + 1);
System.out.print(numbers[i] + " " );
}//end for loop
但我不清楚如何将随机值从一种方法传递到另一种方法。 proffesor非常友好,可以包含一个冒泡排序代码,但是我并不清楚它应该如何在main方法中从数组中提取随机值。
bubblesort代码:
public static void bubbleSort(int[] list)
{
int temp;
for (int i = list.length - 1; i > 0; i--)
{
for (int j = 0; j < i; j++)
{
if (list[j] > list[j + 1])
{
temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
}
}
}
任何提示或帮助都是非常有用的。
答案 0 :(得分:0)
功能
public static void bubbleSort(int[] list)
期望int[] list
一个整数数组作为参数,所以你传递一个整数数组。
public static void main(String args[]){
int[] mList = {12,3,54,67,8,90};
bubbleSort(mList);
for(int i = 0 ; i < mList.length ; i++)
System.out.println(mList[i] + ", ");
}
您也知道,请注意void main(String[] args)
也期望数组(String数组)作为参数。
此外,由于参数int[] list
是非原语(即不是普通的int,float,char或它们的包装器对象),因此参数作为引用而非值接收。因此,在数组中进行的任何修改都将反映在main函数中。
答案 1 :(得分:0)
像这样使用:
System.out.print("The unsorted list is: ");
int[] numbers = new int[10];
bubbleSort(numbers);
//Generates 10 Random Numbers in the range 1 -100
for(int i = 0; i < numbers.length; i++) {
numbers[i] = (int)(Math.random() * 100 + 1);
System.out.print(numbers[i] + " " );
}//end for loop
public static void bubbleSort(int[] list)
{
int temp;
for (int i = list.length - 1; i > 0; i--)
{
for (int j = 0; j < i; j++)
{
if (list[j] > list[j + 1])
{
temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
}
}
}