选择排序

简介: 选择排序

      三大基本排序算法之一,选择排序(Insertion Sort)。

       选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。


       代码实现:

1. public static void sort(){
2.         System.out.println("开始排序了!");
3. 
4. int[] a = {9,2,4,5,7,6,8,3,1,0};
5. 
6.         System.out.println("排序前的序列是:" + Arrays.toString(a));
7. 
8. for(int i = 0,num = a.length - 1; i < num ; i++){
9. int min = i;  //假设最小的数为数组中下标为0的数。
10. for(int j = i+1 ; j< a.length ; j++ ){
11. if(a[min]>a[j]){  //如果最小的数比待排序的数大,就把小数的下标记录为最小的数
12.                     min = j;
13.                 }
14.             }
15.             System.out.println("min:" + min);
16. //把最小数交换到下标为i的位置,一次外循环确定一个待排序的最小数
17. int temp = 0;
18.             temp = a[i];
19.             a[i] = a[min];
20.             a[min] = temp;
21.             System.out.println(i+"次排序后的序列是:" + Arrays.toString(a));
22.         }
23.         System.out.println("排序完成了!");
24.         System.out.println("排序后的序列是:" + Arrays.toString(a));
25.     }


       形象有趣的动图演示:

       图片来源: http://louiszhai.github.io/2016/12/23/sort/ 

总结:

       选择排序是从第一个数开始,假设手里这个数是最小的,拿手里这个数依次与剩余的数比较大小,有比自己手里还小的,就把小的拿在手里,用手里的继续与剩下的比较,一轮比较结束,手里这个是最小的,放在第一个位置。然后开始在剩下的数中找最小的。它最终是一个一个的把最小数挑选出来。

相关文章
|
2天前
|
人工智能 搜索推荐 C语言
选择排序
选择排序是一种简单直观的排序算法。其基本思想是每次从未排序部分找到最小(或最大)元素,将其放到已排序部分的末尾,直至所有元素排序完成。示例代码展示了如何使用 C 语言实现选择排序,并对一个整数数组进行排序。
11 5
|
5月前
|
算法 搜索推荐 Java
选择排序就是这么容易
选择排序就是这么容易
32 0
|
6月前
|
人工智能 算法 搜索推荐
2.选择排序
2.选择排序
22 0
|
6月前
|
搜索推荐 C++
C++选择排序的实现
C++选择排序的实现
|
搜索推荐
16 选择排序
16 选择排序
30 0
|
机器学习/深度学习 搜索推荐 算法
选择排序的实现
选择排序的实现
103 1
|
搜索推荐 C语言
选择排序就这么简单
从上一篇已经讲解了冒泡排序了,本章主要讲解的是选择排序,希望大家看完能够理解并手写出选择排序的代码,然后就通过面试了!如果我写得有错误的地方也请大家在评论下指出。
163 0
选择排序就这么简单
|
搜索推荐
【选择排序】直接选择排序 与 堆排序
【选择排序】直接选择排序 与 堆排序
|
算法 搜索推荐 测试技术
直接选择排序
直接选择排序
109 0
直接选择排序