以下是练习:创建一个名为SortingTest的类。在其中,创建一个接受int值数组作为参数的方法,并打印出排序的元素(最小元素优先)到终端。
这个问题的一部分也是关于使用应该使用的HashSets。怎么样??
这是我到目前为止所得到的
import java.util.Arrays;
import java.util.HashSet;
public class SortingTest {
public void sortArrays(int numbers[]) {
Arrays.sort(numbers);
System.out.println(numbers);
}
}
我想我只是不理解它要求我做的概念。
答案 0 :(得分:1)
这里有一个小样本可以帮助你完成它......很多方法可以解决这个问题,但使用内置的java类非常简单。
import java.util.Arrays;
public class SortArray {
public static void main(String[] args) {
// TODO Auto-generated method stub
int integerArray[] = {1, 5, 3, 7, 8, 2};
Arrays.sort(integerArray);
for(int number : integerArray) {
System.out.print(number + ", ");
}
}
}
答案 1 :(得分:0)
首先阅读有多少类型的算法用于排序并尝试由您自己实现。
以下是Java中冒泡排序的link。
答案 2 :(得分:0)
如果你必须手动实现排序算法,那么请查看双枢轴快速排序,这是我认为Arrays.sort在引擎盖下使用的。
https://en.wikipedia.org/wiki/Quicksort
如果你只需要使用Arrays.sort转储,你几乎就在那里,但是你需要循环打印出值并实际调用方法,你应该将其设为静态:
sorted = Arrays.sort(numbers);
for (int number : sorted) {
System.out.println(number);
}
答案 3 :(得分:0)
似乎没有人在谈论你的HashSet问题 HashSet将删除数组中的重复项。因此,如果您不想要任何重复的数字,则需要使用HashSet。 例如,如果你有一个像这样的排序数组
[2,3,5,5,9,11,14,15,20,20]
sorted => [2,3,5,9,11,14,15,20]
如果你必须创建自己的排序算法,那么我建议你在尝试之前尝试自己实现一个。排序的基本思路是按递增顺序排列数字,或者如果您想降序。
和其他人说的一样,要打印阵列,你可以使用
Arrays.toString(myarray);
或循环遍历元素和打印值
for(int i = 0; i < myarray.length(); i++){
System.out.print(myarray[i]+" ");
}
答案 4 :(得分:-1)
你需要在循环的帮助下(比如for)遍历数组的每个元素,并在循环中打印每个数字。
for(int index = 0; index < numbers.length(); index++)
{
System.out.println(numbers[index]);
}