环境:Notpad ++ 6.0 + JDK 6.0.24
选择法排序的基本思想是首先从待排序的n个数中找出最小的一个与array[0]对换;再将array [1]到array [n]中的最小数与array
[1]对换,依此类推。每比较一轮,找出待排序数中最小的一个数进行交换,共进行n-1次交换便可完成排序。选择法排序每执行一次外循环只进行一次数组元素的交换,可使交换的次数大大减少。
下图演示这一过程:
代码实现:
public class SelectSort{
public static void main(String [] args){
int a[] = {1, 2, 3, 56, 45, 22, 22, 26, 89, 99, 100};
System.out.println("排序前:");
for (int i = 0; i < a.length; ++ i){
System.out.print(a[i] + " ");
}
selectSort(a);
System.out.println("\n");
System.out.println("排序后:");
for (int i = 0; i < a.length; ++ i){
System.out.print(a[i] + " ");
}
}
public static void selectSort(int a[]){
int min = 0;
int temp = 0;
for (int i = 0; i < a.length - 1; ++ i){
min = i;
for (int j = i + 1; j < a.length; ++ j){
if (a[min] > a[j]){
min = j;
}
}
if (min != i){
temp = a[min];
a[min] = a[i];
a[i] = temp;
}
}
}
}
执行效果如图:
分享到:
相关推荐
实现合并排序,插入排序,希尔排序,快速排序,冒泡排序,桶排序算法的java实现。
详细解释了快速排序的java实现.里面有代码,还有注释说明
Java排序算法实现 Java排序算法实现 Java排序算法实现
十大常用排序算法(java实现),冒泡排序,简单选择排序等
几种经典排序算法的Java实现几种经典排序算法的Java实现几种经典排序算法的Java实现几种经典排序算法的Java实现几种经典排序算法的Java实现几种经典排序算法的Java实现几种经典排序算法的Java实现几种经典排序算法的...
快速排序算法的Java实现。下载后把Package信息稍作修改即可运行。
基数排序算法 java实现 还有基数排序的原理文档
排序算法的Java实现
用java实现了以下算法: 1、冒泡排序、冒泡排序的两种改进。 2、插入排序。 3、选择排序。 4、希尔排序。 5、归并排序。 6、快速排序。
排序算法 排序算法_基于Java实现的排序算法之BubbleSort实现
几种内部排序算法的Java实现 各种内部排序方法的比较 直接插入排序 折半插入排序 希尔排序 起泡排序 快速排序 简单选择排序 树形选择排序 堆排序 归并排序 基数排序
Java实现的常见排序算法, Java实现的常见排序算法, Java实现的常见排序算法, Java实现的常见排序算法, Java实现的常见排序算法,
各种排序算法 JAVA代码实现 所有排序算法 JAVA代码实现
几种常见排序算法(Java实现),冒泡排序,快速排序,插入排序,选择排序
各种排序算法java实现各种排序算法java实现各种排序算法java实现各种排序算法java实现各种排序算法java实现
插入排序,选择排序,冒泡排序,归并排序,快速排序,堆排序,希尔排序的java实现
java实现的各种排序法,冒泡排序法,插入排序法,选择排序法和快速排序法,代码中还包括各种排序法效率的检验,既可以用来学习,又可以做项目是用来参考。
java实现的常用的几种基本排序算法,插入、交换、选择、归并
堆排序算法Java实现
多种排序查找算法的java实现源码,包括选择排序,冒泡排序,改进版冒泡排序,二分查找,归并排序等等