JAVA言語による選択ソート法

4208 ワード

1、思想
1.配列の最小要素を見つける2.配列の最初の要素と位置を交換する(最初の要素が最小要素である場合、それは自分と交換する).残りの要素の中で最小の要素を見つけ、配列の2番目の要素と位置を交換します.4.配列全体を並べ替えるまで往復する
2、特徴
1.運転時間は入力に関係なく2.データ移動が最小
3.アルゴリズム時間複雑度
O(n2)
4、コード
public int[] sort (int[] sourcearry) {
		//                   
		int[] arr = Arrays.copyOf(sourcearry, sourcearry.length);
		//     N-1 
		for(int i=0;i<arr.length-1;i++) {
			int min = i;
			//    N-i   
			for(int j=i+1;j<arr.length;j++) {
				if(arr[j]<arr[min]) {
					//              
					min = j;
				}
			}
			//         i       
			if(i!=min) {
				int tmp = arr[i];
				arr[i] = arr[min];
				arr[min] = tmp;
			}
		}
		return arr;
	}