BK网络学院

首页搜索登录
首页业界网页平面多媒体程序数据库办公工具服务器系统网络安全站长认证壁纸
加入收藏 | 网站地图 | | RSS | WAP
你好,游客 登录 注册 搜索

Java常用算法:选择排序算法

[日期:2013-10-31] 作者: 来源: [字体: ]

3.4选择排序算法

3.4.1        源程序

3.4.1.1 ChooseSort源程序

public class ChooseSort {

    private static void ChooseSort (int [] a){

      for(int i = 0; i < a.length; i++){

          //对数组循环,假设数据排在前面的元素总比后面的小,然后与后面的数据进行比较

          int k = i;

          for(int j = i+1; j <a.length; j++){//对数据遍历,寻找最小的数据元素的数组下标

              if(a[j]<a[k])

                  k = j;

          }

          //最少值与a[i]交换

          if(i != k){

          //对i和k进行比较,如果不相等,则i和j下标表示的元素不是同一个元素,则交换a[i],a[k]的值,保证最小值总在最前面

              int temp = a[i];

              a[i] = a[k];

              a[k] = temp;

          }

      }

     

    }

 

    public static void main(String[] args) {

      int[] test1 = { 51, 38, 49, 27, 62, 5, 16  }; // 测试数组

      chooseSort(test1);

 

      for (int i = 0; i < test1.length; i++) {

          System.out.print(test1[i] + " ");

      }

    }

}

3.4.1.2  程序运行结果:

5 16 27 38 49 51 62

3.4.2源程序揭秘

选择排序的基本思想是每一趟(假设是第i趟)处理都是从n-i+1个数据中选择一个数据最小(或最大)的作为有序序列中的第i个数据。其中最简单的一种称为直接选择排序。

选择排序算法的数据结构:

待排序的数组test1 = {51, 38, 49, 27, 62, 5, 16}

选择排序算法原理:

直接选择排序的第一趟处理是从数据序列所有n个数据中选择一个最小的数据作为有序序列中的第1个元素并将它定位在第一号存储位置,第二趟处理从数据序列的n-1个数据中选择一个第二小的元素作为有序序列中的第2个元素并将它定位在第二号存储位置,依此类推,当第n-1趟处理从数据序列的剩下的2个元素中选择一个较小的元素作为有序序列中的最后第2个元素并将它定位在倒数第二号存储位置,至此,整个的排序处理过程就已完成。

关键词:排序  算法  选择 

收藏 推荐 打印 | 录入:blue1000 | 阅读:
最新图文
本文评论   查看全部评论 (1)
表情: 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事/刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
第 1 楼
* 匿名 发表于 2016/12/24 19:24:23
http://www.blue1000.com/bkhtml/c149/2013-09/71350.htm 分家协议书范本 http://www.blue1000.com/show/8417.html 财产分割协议书 http://www.blue1000.com/show/8416.html