注意选择排序和冒泡排序的异同点:
它们两者比较的次数一样,O【N^2】的时间。
但选择排序的交换次数要比冒泡少。我想是因为它在每次循环之前,就设计了一个锚点。(如下面的MIN),这样就避免了已排序好的元素再交换。其适用于排序量少而交换多。
public void insert(long value)
{
int j;
int i;
long temp;
long min;
a[nElems] = value;
nElems++;
for(j = 0; j < nElems; j++){
min = a[j];
for(i = j; i < nElems; i++){
if (a[j] > a[i]){
min = a[i];
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
System.out.print("Insert value: " + value);
System.out.println("");
}
输出没有差别