`
xuelianbobo
  • 浏览: 171765 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

java选择排序

 
阅读更多
/***
 * 选择排序算法 选择排序的基本逻辑为:在排序数据中选择最小(或最大的)放在第一个位置,然后在剩下的里面再选最小的,以此类推
 * 
 * @author bobo
 * 
 */
public class selectSortTest {
	/***
	 * 选择排序算法
	 * 
	 * @param args
	 */
	public static void main(String[] args) {
		int[] a = { 1, 9, 2, 3, 6, 4, 7, 9, 0 };
		show(a);
		for (int i = 0; i < a.length; i++) {
			selectOne(a, i);
			show(a);
		}

	}

	/***
	 * 打印数组的当前情况
	 * 
	 * @param a
	 */
	private static void show(int[] a) {
		for (int i = 0; i < a.length; i++) {
			System.out.print(a[i] + "\t");
		}
		System.out.println("\n");
	}

	/**
	 * 一次选择的过程 从开始位置选择最小的与开始位置进行交换
	 * 
	 * @param a
	 *            排序的数组
	 * @param begin
	 *            开始选择的位置
	 */
	private static void selectOne(int[] a, int begin) {
		int p = begin;// 假设最小的值的位置就是开始位置
		for (int i = begin + 1; i < a.length; i++) {
			if (a[i] < a[begin]) {
				int temp = a[i];
				a[i] = a[begin];
				a[begin] = temp;
			}
		}
	}
}

1 9 2 3 6 4 7 9 0 

0 9 2 3 6 4 7 9 1 

0 1 9 3 6 4 7 9 2 

0 1 2 9 6 4 7 9 3 

0 1 2 3 9 6 7 9 4 

0 1 2 3 4 9 7 9 6 

0 1 2 3 4 6 9 9 7 

0 1 2 3 4 6 7 9 9 

0 1 2 3 4 6 7 9 9 

0 1 2 3 4 6 7 9 9 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics