算法描述:
选择排序法的第一层循环从起始元素开始选到倒数第二个元素,主要是在每次进入的第二层循环之前,将外层循环的下标赋值给临时变量,接下来的第二层循环中,如果发现有比这个最小位置处的元素更小的元素,则将那个更小的元素的下标赋给临时变量,最后,在二层循环退出后,如果临时变量改变,则说明,有比当前外层循环位置更小的元素,需要将这两个元素交换.
代码:
/**
* 选择排序
* @param Array
* @return
*/
public int [] chooseCollocate (int [] Array) {
int index = Array.length;
for (int i = 0; i < index; i ++) {
int flg = i;
for (int y = 0 ; y < index; y ++) {
if ( Array [y] < Array [flg]) {
flg = y;
if (i != flg) {
int temp = Array [i];
Array [i] = Array [flg];
Array [flg] = temp;
}
}
}
}
return Array;
}