选择排序算法
2015-06-27 22:03
246 查看
选择排序算法是比较简单的排序算法,其思路比较直观,选择排序算法在每一步中选取最小值来重新判断,从而达到排序的目的。
排序流程如下:
1)首先从原始数组中选择最小的一个数据,将其和位于第一个位置的数据交换
2)接着从剩下的n-1个数据中选词次小的一个数据,将其和第二个位置的数据交换
3)然后不断重复上述过程,直到最后二个数据完成交换
例如下数据
初始数据 118 101 105 127 112
一次排序 101 118 105 127 112
二次排序 101 105 118 127 112
三次排序 101 105 112 127 118
四次排序 101 105 112 118 127
排序流程如下:
1)首先从原始数组中选择最小的一个数据,将其和位于第一个位置的数据交换
2)接着从剩下的n-1个数据中选词次小的一个数据,将其和第二个位置的数据交换
3)然后不断重复上述过程,直到最后二个数据完成交换
例如下数据
初始数据 118 101 105 127 112
一次排序 101 118 105 127 112
二次排序 101 105 118 127 112
三次排序 101 105 112 127 118
四次排序 101 105 112 118 127
public class SelectSort {
public static void main(String[] args) {
int[] a = { 49, 38, 65, 97, 76, 13, 27, 49, 78, 34, 12, 64, 1, 8 };
System.out.println("排序之前:");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
// 简单的选择排序
for (int i = 0; i < a.length; i++) {
int min = a[i];
int n = i; // 最小数的索引
for (int j = i + 1; j < a.length; j++) {
if (a[j] < min) { // 找出最小的数
min = a[j];
n = j;
}
}
a = a[i];
a[i] = min;
}
System.out.println();
System.out.println("排序之后:");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
}
}
相关文章推荐
- java数据结构和算法------选择排序
- 简单算法--冒泡排序、快速排序、选择排序及二分法
- 基础算法-直接选择排序
- 算法笔记(1)-选择排序
- 算法之排序(选择、冒泡、插入)
- 选择排序-基本算法
- [算法]选择排序
- 算法 —— 选择排序,插入排序,希尔排序
- 算法之选择排序
- 第十五周——项目一—验证算法(6)选择排序之堆排序
- 算法学习--选择排序和插入排序
- 排序选择算法--java--之高效率篇
- 算法—1.选择排序
- 数据结构算法之排序系列Java、C源码实现(3)--直接选择排序
- 算法回顾之六:选择排序
- 算法--选择排序
- 算法总结(3)选择排序
- 智渔课堂官方免费教程二十八:Java排序算法之选择排序和冒泡排序
- 算法--选择排序
- 算法之美--选择排序--直接选择排序