>>分享数据结构和算法相关的知识和技术 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 19673 个阅读者 刷新本主题
 * 贴子主题:  Java 选择排序算法 回复文章 点赞(0)  收藏  
作者:javathinker    发表时间:2020-03-15 19:26:00     消息  查看  搜索  好友  复制  引用

      选择排序算法的一般策略:搜索整个值列,以找到最小值。将该值与值列中第一个位置上的值进行交换。搜索剩下的值列(第一个除外),以找到其中的最小值,然后将其与值列中第二个位置上的值进行交换。对值列中的每个位置重复该过程。在算法结束时,就完成了对值列的排序。

      下面是选择排序算法--Java程序

public class Selection {
  
    public static void selectionSort(Comparable []data){
  
    int intLength = data.length;
    for(int i=0;i<intLength-1;i++){
     int minIndex = i;
     //Find smallest name
     for(int j=i+1;j<intLength;j++){
      Comparable a = data[j];
      Comparable b = data[minIndex];
         if(a.compareTo(b)<0){
          minIndex = j;
         }                    
     }
     //Swap data if necessary
     if(minIndex!=i){
        Comparable temp = data[i];
        data[i] = data[minIndex];
        data[minIndex] = temp;
       }
    }  
  }
  
    public static void main(String []args){
  
     Comparable []c={4,9,23,1,45,27,5,2};
     selectionSort(c);
     for(int i=0;i<c.length;i++){
        System.out.println("选择排序:"+c[i]);
     }  
   }
}


附件:http://down.51cto.com/data/2350189
----------------------------
原文链接:https://blog.51cto.com/tscjsj/84582
作者:唐大老师

程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-03-15 19:26:00 重新编辑]
  Java面向对象编程-->Java语言中的修饰符
  JavaWeb开发-->Web运作原理(Ⅲ)
  JSP与Hibernate开发-->持久化层的映射类型
  Java网络编程-->基于MVC和RMI的分布式应用
  精通Spring-->创建综合购物网站应用
  Vue3开发-->计算属性和数据监听
  整理得吐血了,二叉树、红黑树、B、B+树超齐全,快速搞定数据...
  64匹马,8个赛道,找出跑得最快的4匹马
  Codility 算法测验
  无向图的最短路径求解算法之——Dijkstra算法
  算法的概念、特征和基本类型简介
  haproxy调度算法
  一致性哈希算法的理解
  AES算法,DES算法,RSA算法JAVA实现
  算法之原码、补码、反码
  Citrix Netscaler负载均衡算法
  令牌桶算法
  活动安排问题(贪心算法)
  ipvsadm及lvs的调度算法
  Java算法题:有关100阶楼梯的算法
  微软面试题:买卖股票的最佳时机
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。