算法3-排序-简单选择排序

Posted 有时你唱起歌 有时你沉默 有时你望着天空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法3-排序-简单选择排序相关的知识,希望对你有一定的参考价值。

基本思想:在要排序的一组数中,选出最小的一个数与第一个位置的数交换;

然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。

选择排序的思想其实和冒泡排序有点类似,都是在一次排序后把最小的元素放到最前面。但是过程不同,冒泡排序是通过相邻的比较和交换。而选择排序是通过对整体的选择。举个栗子,对5,3,8,6,4这个无序序列进行简单选择排序,首先要选择5以外的最小数来和5交换,也就是选择3和5交换,一次排序后就变成了3,5,8,6,4.对剩下的序列一次进行选择和交换,最终就会得到一个有序序列。其实选择排序可以看成冒泡排序的优化,因为其目的相同,只是选择排序只有在确定了最小数的前提下才进行交换,大大减少了交换的次数。选择排序的时间复杂度为O(n^2)

publicclass selectSort {  
  
    public selectSort(){  
  
       int a[]={1,54,6,3,78,34,12,45};  
  
       int position=0;  
  
       for(int i=0;i<a.length;i++){  
  
             
  
           int j=i+1;  
  
           position=i;  
  
           int temp=a[i];  
  
           for(;j<a.length;j++){  
  
           if(a[j]<temp){  
  
              temp=a[j];  
  
              position=j;  
  
           }  
  
           }  
  
           a[position]=a[i];  
  
           a[i]=temp;  
  
       }  
  
       for(int i=0;i<a.length;i++)  
  
           System.out.println(a[i]);  
  
    }  
  
}  

  

以上是关于算法3-排序-简单选择排序的主要内容,如果未能解决你的问题,请参考以下文章

排序之选择算法

python学习选择排序算法简单代码

排序算法3种简单排序(选择,冒泡,插入)

八大排序算法的python实现简单选择排序

常用排序算法比较

算法笔记 排序算法完整介绍及C++代码实现 HERODING的算法之路