天天看点

数据结构学习--选择排序

思路:每次选择待排序列中关键字最小的记录顺序放入已排序列。

步骤:1、从待排序列第一个记录开始,选出关键字最小的记录,并将其与序列中第一个记录交换位置;

            2、从待排序列第二个记录开始,选出 关键字最小的记录,并将其与序列中第二个记录交换位置;

            3、重复以上步骤共n-1次,其中n为待排序列中有n个记录。

public class SelectionSort {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		int[] seq={11,3,54,4,5,64,34,-9};
		method(seq);
		for(int i=0;i<seq.length;i++)
			System.out.print(seq[i]+" ");
	}
	private static void method(int[] arr){
		int temp_subscript=0,temp;
		for(int i=0;i<arr.length-1;i++){
			temp_subscript=i;
			for(int j=i;j<arr.length-1;j++){//取最小值
				if(arr[temp_subscript]>arr[j+1])
					temp_subscript=j+1;
			}
			if(temp_subscript!=i){//与第i个记录交换位置
				temp=arr[i];
				arr[i]=arr[temp_subscript];
				arr[temp_subscript]=temp;
			}
		}
	}
}
           

继续阅读