`
wangkechao.dream
  • 浏览: 45866 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
352630cf-f670-3416-b946-55dec5cd787c
设计模式
浏览量:29979
社区版块
存档分类
最新评论

3.排序-选择类排序

阅读更多

1. 简单选择排序

简单选择排序(Simple Select Sort)算法的基本思想是:从待排序的记录序列中选择关键码最小(或最大)的记录并将它与序列中的第一个记录交换位置;然后从不包括第一个位置上的记录序列中选择关键码最小(或最大)的记录并将它与序列中的第二个记录交换位置;如此重复,直到序列中只剩下一个记录为止。

 

package sort.select;


/**
 * 简单选择排序
 * 
 * @author king
 *
 */
public class SimpleSelectSort {
	private static void simpleSelectSort(int[] data){
		int temp; //临时存储变量
		int point;//定位交换的位置
		int count=1;
		for(int i=0;i<data.length;i++){
			point=i;
			for(int j=i+1;j<data.length;j++){
				if(data[point]>data[j]){
					point=j;
				}
			}
			//交换位置
			temp=data[i];
			data[i]=data[point];
			data[point]=temp;
			System.out.println("第" + count + "趟排序:");
			for (int k = 0; k < data.length; k++) {
				System.out.print(data[k] + " ");
			}
			System.out.print("\n");
			count++;
		}
	}
	public static void main(String[] args) {
		int[] data = new int[]{3,43,5,2,4};
		simpleSelectSort(data);
	}
}

 第1趟排序:

2 43 5 3 4 

第2趟排序:

2 3 5 43 4 

第3趟排序:

2 3 4 43 5 

第4趟排序:

2 3 4 5 43 

第5趟排序:

2 3 4 5 43 

 

2. 堆排序【有些难,我要想几天呢。。。。】

1
3
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics