提取三个最小值

时间:2011-03-14 22:58:08

标签: java arrays minimum

我想获得最小的双数组和其他两个最小值。总的来说,我想获得数组的3个较小值。我没有使用类数组,但我使用的是double[]

4 个答案:

答案 0 :(得分:6)

最简单的方法是致电

Arrays.sort()

并获取前3个值。

否则,您可以简单地遍历数组并跟踪最小的三个,就像您最小的一样。

答案 1 :(得分:1)

double[] dlist = {17.0, 10.0, 44, 7, 4.0, 33, 24, 10, 48.0, 49.0};
Arrays.sort (dlist);
System.out.println (dlist [0] + " " + dlist [1] /*...*/);

答案 2 :(得分:0)

与上面类似,您可以循环并存储最小的一个,然后从数组中删除。然后再做一遍。但我认为上述方法更有效。

答案 3 :(得分:0)

好吧,如果你根本不能使用Arrays类,你可能需要3个变量,一个用于保存你想要获得的每个值。首先将它们设置为等于数组中的前3个元素(如果至少有3个,否则只设置其中一些)。

然后使用for循环遍历数组中的其余元素。如果元素小于您已找到的一个或多个数字,请删除这些数字中最大的数字,并将其添加到最小数字列表中。

1. declare 3 variables
2. set variables equal to first 3 elements in array
3. loop from index 3 (4th element) to the length of the array
   a. see which of the already found numbers is bigger than the current element (if any)
   b.replace the biggest of the found numbers with the new number if at least one was found
4. print out or return the numbers you found