选择排序

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

排序目标集合:{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

posted @ 2018-06-25 22:16  空芯菜  阅读(132)  评论(0编辑  收藏  举报