您的位置:首页 > 其它

算法--选择排序

2017-03-16 14:31 197 查看
1、选择排序:

        从数组0角标开始,每次遍历,通过对比大小,记录最小或最大值的角标,将0角标数值与其交换,以此类推完成排序。选择排序,是每次选出最值后,第二次再从剩余数选出最值,和插入排序区别,插入排序每次从剩余数中选第一个,去排好序的数组对比找位置插入,而选择排序,是每次从剩余数中选出最值,排到已经拍好序的数组尾部,完成排序。

2、上代码:

private int[] selectOrder(int[] order){
for (int i = 0;i<order.length;i++){
int temp = i;
for (int j=i+1;j<order.length;j++){
if(order[j] < order[temp]){
temp = j;
}
}
if(order[i] > order[temp]){
int v = order[temp];
order[temp] = order[i];
order[i] = v;
}
}
return order;
}


总结:两层for循环,外层遍历所有元素,找到需要排序的制定位置,内层找到剩余数的最值角标,之后完成最值与制定位置的交换,完成排序。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: