java排序之 选择排序

    xiaoxiao2021-03-25  75

    基本原理:

    1:给定的一组记录,经过第一轮比较后得到最小的记录,然后将该记录与第一个记录位置进行交换 2:接着对不包含的第一个记录的以外的其他记录进行第二轮比较,得到最小记录并于第二个记录进行位置交换; 3: 重复1,2 步

    案例 :{38,55,69,14,25,19,45}

    第一趟排序后:14 [55,69,38,25,19,45] 第二趟排序后:14 19 [69,38,25,55,45] 第三趟排序后:14 19 25[38,69,55,45] 第四趟排序后:14 19 25 38[69,55,45] 第五趟排序后:14 19 25 38 45[55,69] 第六趟排序后:14 19 25 38 45 55 [69]

    最后排序 结果:14 19 25 38 45 55 69

    core代码 .java

    sort (int [] a){ int i,j; int temp=0; int flag=0;// for(int i=0;i<n;i++){//从零开始扫描 temp=a[i];//放入temp flag=i;//标志 for(int j=i+1;j<n;j++){ if(a[j]<temp){//后续的元素中存在当前元素小的则将a[j]给temp temp=a[j]; flag=j; } } if(flag!=i){ //交换位置 a[flag]=a[i]; a[i]=temp; } } }

    快速排序的性能 最好时间复杂度为:O(NlogN),最差复杂度为O(n^2)。为不稳定排序,当N较大时,选择该排序方法较好。

    转载请注明原文地址: https://ju.6miu.com/read-35146.html

    最新回复(0)