排序算法之选择排序

来源:互联网 发布:kdj算法 编辑:程序博客网 时间:2024/06/05 19:24

选择排序作为冒泡排序的改进,交换次数从n的平方降为n。不过整体的时间复杂度还是n得平方

(1)从待排序序列中,找到关键字最小的元素,记录下最下元素的位置;

(2)如果最小元素不是待排序序列的第一个元素,将其和第一个元素互换;

(3)从余下的 N - 1 个元素中,找出关键字最小的元素,重复(1)(2)步,直到排序结束。

我们可以以下面一组数据作为测试:

    2, 1, 5, 4, 9

    第一次排序:1, 2, 5, 4, 9

   第二次排序: 1, 2, 5, 4, 9

    第三次排序: 1, 2, 4, 5, 9

    第四次排序: 1, 2, 4, 5, 9


下面是整型数组排序的例子


  public int[] ChooseSort(int[] arg){            int temp,temp1;            for(int i=0;i<arg.length-1;i++){                temp=i;                for(int j=i+1;j<arg.length;j++){                    if(arg[j]<arg[i]){                        temp=j;                    }                }                temp1=arg[temp];                arg[temp]=arg[i];                arg[i]=temp1;            }            return arg;        }


0 0
原创粉丝点击