zoukankan      html  css  js  c++  java
  • 算法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]);  
      
        }  
      
    }  
    

      

  • 相关阅读:
    8-15 globalCompositeOperation阶段练习二
    8-13 canvas专题-阶段练习二(下)
    8-12 canvas专题-阶段练习一(上)
    最长公共字串
    8-23 canvas专题
    8-2 canvas专题-线条样式
    7-81 js课程小结
    7-80 HTML5新增的JS选择器
    VS快捷键教程
    java.text.NumberFormat使用方法
  • 原文地址:https://www.cnblogs.com/yk123/p/8303846.html
Copyright © 2011-2022 走看看