• 算法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]);  
      
        }  
      
    }  
    

      

  • 相关阅读:
    ES6 学习记录
    Windows 服务开发 以及 重启IIS应用池
    IIS部署.net core 3.1踩坑总结
    VS 2019背景全透明以及插件、特效
    深拷贝和浅拷贝的区别
    Vue全家桶以及常用知识点
    C#设计模式
    博客园装扮教程
    Exp5 单元测试
    Exp4 代码评审
  • 原文地址:https://www.cnblogs.com/yk123/p/8303846.html
Copyright © 2020-2023  润新知