Java选择排序法
假设当前存在一个 int 类型的数组 number,该数组中的元素依次是 13、15、 24、99、4 和 1。如果使用冒泡排序进行两两相邻比较,第一趟排序后的结果如下:
第二趟排序后的结果如下:
第三趟排序后的结果如下:
第四趟排序后的结果如下:
第五趟排序后的结果如下:
使用选择排序法也可以对上述数组中的元素进行排序,但是它与冒泡排序不同。选择排序是指每一趟从待排序的数据元素中选出最大(或最小)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。例如,使用选择排序法重新对 number 数组中的元素进行排序,那么第一趟排序后的结果如下:
第二趟排序后的结果如下:
第三趟排序后的结果如下:
第四趟排序后的结果如下:
第五趟排序后的结果如下:
执行上述代码,查看每一趟排序后的结果,运行结果如下所示。
13、15、24、4、1、99
第二趟排序后的结果如下:
13、15、4、1、24、99
第三趟排序后的结果如下:
13、4、1、15、24、99
第四趟排序后的结果如下:
4、1、13、15、24、99
第五趟排序后的结果如下:
1、4、13、15、24、99
使用选择排序法也可以对上述数组中的元素进行排序,但是它与冒泡排序不同。选择排序是指每一趟从待排序的数据元素中选出最大(或最小)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。例如,使用选择排序法重新对 number 数组中的元素进行排序,那么第一趟排序后的结果如下:
13、15、24、1、4、99
第二趟排序后的结果如下:
13、15、4、1、24、99
第三趟排序后的结果如下:
13、1、4、15、24、99
第四趟排序后的结果如下:
4、1、13、15、24、99
第五趟排序后的结果如下:
1、4、13、15、24、99
例 1
利用选择排序方法通过编程的方式实现对 number 数组的排序,并输出已排序的数组元素。代码如下:int[] number = {13,15,24,99,4,1}; String end = "\n"; int index; for (int i = 1;i < number.length;i++) { index = 0; for(int j = 1;j <= number.length-i;j++) { if (number[j] > number[index]) { index = j; // 查找最大值 } } end = number[index] + " " + end; // 定位已排好的数组元素 int temp = number[number.length-i]; number[number.length-1] = number[index]; number[index] = temp; System.out.print("【"); for (int j = 0;j < number.length-i;j++) { System.out.print(number[j]+" "); } System.out.print("】"+end); }
执行上述代码,查看每一趟排序后的结果,运行结果如下所示。
【13 15 24 1 4 】99 【13 15 4 1 】24 99 【13 1 4 】15 24 99 【4 1 】13 15 24 99 【1 】4 13 15 24 99
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算