首页 > 编程语言 > 详细

选择排序

时间:2018-06-25 23:29:00      阅读:231      评论:0      收藏:0      [点我收藏+]

排序算法-------选择排序

排序目标集合:{1,9,2,8,3,7,4,6,5,0}

排序方法代码:

 

 1     // 选择法排序(升序)
 2     private static void selectSort(Integer[] numbers) {
 3         int numLength = numbers.length;   // 数组长度
 4         int indexFlag;
 5         int j = 0;
 6         for (int i = 0; i < numLength - 1; i++) {
 7             
 8             indexFlag = i;   // 标记排序开始元素的下标
 9             for (j = i + 1; j < numLength; j++) {
10                 if (numbers[indexFlag] > numbers[j]) {
11                     indexFlag = j;   // 标记值最小的元素下标
12                 }
13             }
14             // 根据元素下标,将值最小的元素和开始排序元素交换
15             int tempNum = numbers[indexFlag];
16             numbers[indexFlag] = numbers[i];
17             numbers[i] = tempNum;
18            19 20         }
21     }

 

排序过程:

第1趟排序:0 9 2 8 3 7 4 6 5 1

第2趟排序:0 1 2 8 3 7 4 6 5 9

第3趟排序:0 1 2 8 3 7 4 6 5 9

第4趟排序:0 1 2 3 8 7 4 6 5 9

第5趟排序:0 1 2 3 4 7 8 6 5 9

第6趟排序:0 1 2 3 4 5 8 6 7 9

第7趟排序:0 1 2 3 4 5 6 8 7 9

第8趟排序:0 1 2 3 4 5 6 7 8 9

第9趟排序:0 1 2 3 4 5 6 7 8 9

选择排序

原文:https://www.cnblogs.com/caizhen/p/9226627.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!