我目前正在研究我的气泡和选择排序,遇到了几个问题。我得到了几个朋友的帮助,现在我一个人,我被困住了。我已经有了气泡排序,所以我将以下代码带入了我的选择代码中。但是选择部分有不同的算法。
import java.util.Arrays;
import java.io.*;
public class SelectionSort
{
int a[];
int n;
public static void main(String[] args)
{
int array[] = { 5,3,9,7,1,8 };
System.out.println(""+Arrays.toString(Sort(array)));
}
public static int[] Sort(int[] arr)
{
int t, min;
for(int i=0;i<n-1;i++)
{
min = i;
for(int j=i+1;j<n;j++)
{
if(a[min]>a[j])
min = j;
}
if(min!=i)
{
t = a[min];
a[min] = a[i];
a[i] = t;
}
System.out.println(""+Arrays.toString(arr));
}
return arr;
}
}
气泡代码运行完美,我还必须输出整个代码中发生的每个更改。
[3, 5, 7, 1, 8, 9]
[3, 5, 1, 7, 8, 9]
[3, 1, 5, 7, 8, 9]
[1, 3, 5, 7, 8, 9]
[1, 3, 5, 7, 8, 9]
[1, 3, 5, 7, 8, 9]
提前感谢任何帮助我的人!
您已经声明n
变量是非静态的,因此静态方法Sort
无法访问n
。尝试将签名更改为static int n
并在 main
中初始化它:n = 6
。
你知道你可以使用Arrays.sort(yourList);