【问题标题】:Bubble and Selection Sort冒泡排序和选择排序
【发布时间】:2015-02-14 04:43:20
【问题描述】:

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

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]

提前感谢任何帮助我的人!

【问题讨论】:

  • 你还没有真正问过问题
  • 如何修复我的代码,这不是一个问题吗?
  • @tshes 你必须提出一个重点明确的问题!仅仅要求修复你的代码不是很好,对吧?我们需要更多信息,例如实际出了什么问题,您尝试过什么。
  • 抱歉显得粗鲁,我只是担心我的代码。我试图更改代码,我问了一个朋友,他说我没有声明变量,但我有。我的总体问题是为什么它不能编译,它给了我在冒泡排序中没有收到的错误。
  • 好吧,一开始你的朋友是对的,你没有给“n”一个值,但你却把它用作循环边界。可能想要解决这个问题,您的代码可能会停止抛出错误

标签: java bubble-sort selection-sort


【解决方案1】:

您已将 n 变量声明为非静态变量,因此静态方法 Sort 无法访问 n。尝试将签名更改为static int n,并将其初始化为mainn = 6

【讨论】:

    【解决方案2】:

    你知道你可以使用Arrays.sort(yourList);

    【讨论】:

      猜你喜欢
      • 2015-04-25
      • 1970-01-01
      • 2016-11-01
      • 2015-09-16
      • 2017-02-07
      • 2017-04-05
      • 2019-01-13
      相关资源
      最近更新 更多