直接选择排序法是将指定排序位置与其他数组元素分别对比,如果满足条件就交换元素,注意区分冒泡排序,他不是交换相邻的,而是把满足条件的与指定位置的交换。
比如array{7,8,6,5,9,3,1},指定把最大的放在最后一位,先从第一位开始比较,8比7大,则下一次就是6与8比较(因为6比8小),再5与8比较,以此类推
for(int j=1;j<a.length;j++){
int index=0;
for(int i=1;i<=a.length-j;i++){
if(a[i]>a[index]){
index=i;
/*
* 交换下一个要比较的值,但不是交换两个值的内容
* 比如a2与a1比较,现在换成a3与a2比较,而不是交换a2和a1的值
*/
}
}
到最后一位再交换位置
for(int j=1;j<a.length;j++){
int index=0;
for(int i=1;i<=a.length-j;i++){
if(a[i]>a[index]){
index=i;
/*
* 交换下一个要比较的值,但不是交换两个值的内容
* 比如a2与a1比较,现在换成a3与a2比较,而不是交换a2和a1的值
*/
}
}
/*
* 不能放在第二个for里面,因为要到最后再交换位置
*/
temp&#