选择排序--JAVA实现
2011-06-07 16:43
176 查看
[align=center]选择排序--JAVA实现[/align]
思想:
假设有N条数据,则暂且标记下标为0的数据为min(即最小值),使用out标记最左边未排序的数据,然后使用in标记下标为1的数据,依次与min作比较,如果比min小,则将该数据标记为min(最小值),当第一轮比较完后,最终的min与out标记数据交换,依次类推:
源码如下所示:
package org.iljava.datastructures;
/**
*
* @author Xiaolong_Long
*
*/
public class SelectSort {
public static int[] a = { 23,0,367,1,43,6,25,24433 }; // 预设数据数组
public static void main(String args[]) {
System.out.println("未执行选择排序操作前的结果依次输出为:");
for (int i :a) {
System.out.print(i+"\t");
}
int in, out, min;
for (out = 0; out < a.length - 1; out++) {
min = out;
for (in = out + 1; in < a.length; in++) {
//更新最小值
if (a[in] < a[min])
min = in;
}
//数据交换
int temp = a[out];
a[out]=a[min];
a[min]=temp;
}
System.out.println();
System.out.println("执行选择排序操作后的结果依次输出为:");
for (int i :a) {
System.out.print(i+"\t");
}
}
}
[color=red]运行结果如下所示:
未执行选择排序操作前的结果依次输出为:
23 0 367 1 43 6 25 24433
执行选择排序操作后的结果依次输出为:
0 1 6 23 25 43 367 24433[/color]
思想:
假设有N条数据,则暂且标记下标为0的数据为min(即最小值),使用out标记最左边未排序的数据,然后使用in标记下标为1的数据,依次与min作比较,如果比min小,则将该数据标记为min(最小值),当第一轮比较完后,最终的min与out标记数据交换,依次类推:
源码如下所示:
package org.iljava.datastructures;
/**
*
* @author Xiaolong_Long
*
*/
public class SelectSort {
public static int[] a = { 23,0,367,1,43,6,25,24433 }; // 预设数据数组
public static void main(String args[]) {
System.out.println("未执行选择排序操作前的结果依次输出为:");
for (int i :a) {
System.out.print(i+"\t");
}
int in, out, min;
for (out = 0; out < a.length - 1; out++) {
min = out;
for (in = out + 1; in < a.length; in++) {
//更新最小值
if (a[in] < a[min])
min = in;
}
//数据交换
int temp = a[out];
a[out]=a[min];
a[min]=temp;
}
System.out.println();
System.out.println("执行选择排序操作后的结果依次输出为:");
for (int i :a) {
System.out.print(i+"\t");
}
}
}
[color=red]运行结果如下所示:
未执行选择排序操作前的结果依次输出为:
23 0 367 1 43 6 25 24433
执行选择排序操作后的结果依次输出为:
0 1 6 23 25 43 367 24433[/color]
相关文章推荐
- Java实现排序(快速排序、冒泡排序、选择排序、基数排序、插入排序)
- 程序员必知的8大排序(二)-------简单选择排序,堆排序(java实现)
- java 排序算法实现 其三:直接选择排序
- 算法导论Java实现-选择排序(习题2.2-2)
- 排序算法复习(Java实现)(二): 插入,冒泡,选择,Shell,快速排序
- 选择排序之直接选择排序Java实现
- JAVA实现简单的冒泡排序与选择排序
- java 实现 冒泡排序、选择排序、插入排序。
- java实现常见的排序(冒泡、插入、选择、快排)
- 排序算法--选择排序(简单选择排序、堆排序)java实现
- 直接选择排序----java实现
- java实现选择排序
- 程序员必知的8大排序(二)-------简单选择排序,堆排序(java实现)
- java版排序算法简介及冒泡排序以及优化,选择排序,直接插入排序,希尔排序,堆排序,快速排序及其优化前言 2 分类 2 稳定性 3 时间复杂度 4 Java实现版本 5 1、冒泡排序 6 2、选择排序
- java插入排序,冒泡排序,选择排序的思路及实现
- java实现冒泡,插入,选择排序
- 用java实现简单选择排序的动态演示
- 几种常用的排序算法的分析及java实现(希尔排序,堆排序,归并排序,快速排序,选择排序,插入排序,冒泡排序)
- 几种常见排序算法之Java实现(插入排序、希尔排序、冒泡排序、快速排序、选择排序、归并排序)
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序