java气泡和选择排序
我目前正在进行气泡和选择排序,遇到了一些问题。我从几个朋友那里得到了帮助,现在我一个人陷入困境。我已经有了冒泡排序,所以我在选择代码中引入了以下代码。但是对于选择部分有不同的算法
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;
}
}
bubble代码工作得很好,我还必须输出整个代码中发生的每一个更改
[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]
提前感谢所有帮助我的人
# 1 楼答案
你知道你可以用
Arrays.sort(yourList);
# 2 楼答案
您已声明
n
变量为非静态变量,因此静态方法Sort
无法访问n
。尝试将签名更改为static int n
,并在main
:n = 6
中初始化它