气泡和选择排序



我目前正在研究我的气泡和选择排序,遇到了几个问题。我得到了几个朋友的帮助,现在我一个人,我被困住了。我已经有了气泡排序,所以我将以下代码带入了我的选择代码中。但是选择部分有不同的算法。

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);

最新更新