算法--选择排序

来源:互联网 发布:四川 网络作家协会 编辑:程序博客网 时间:2024/06/01 08:44

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循环,外层遍历所有元素,找到需要排序的制定位置,内层找到剩余数的最值角标,之后完成最值与制定位置的交换,完成排序。

0 0
原创粉丝点击