我似乎无法理解这种特殊的算法。它似乎是bubblesort
但不是传统意义上的。它是什么?
public static void main(String[] args)
{
double[] a = {0.75, 0.5, 1.0};
sort(a);
for (int i = 0; i < a.length; i++)
System.out.println(a[i]);
}
public static void sort(double[] tal)
{
double p = 0;
int k = 0;
for (int i = 0; i < tal.length - 1; i++)
{
k = i;
for (int j = i + 1; j < tal.length; j++)
{
if (tal[j] < tal[k])
k = j;
}
p = tal[i];
tal[i] = tal[k];
tal[k] = p;
}
}
答案 0 :(得分:23)
起初,我错误地认为它是Insertion sort。它是Selection sort(来自维基百科条目)
答案 1 :(得分:5)
这是selection sort。内循环在剩余元素中找到最小的元素,然后与未分类范围的第一个元素交换。
答案 2 :(得分:2)
这是selection sort。 Insertion sort适用于for
和while
循环。