[Javaの]選択ソートのJava実装

ブリーフ

:選択は、ソートプロセスは次の通りである、単純なソートアルゴリズムである
最小の配列要素を見つける①
②配列の最初の要素を、その交換
要素の残りの部分で最小の要素を見つける③
④それと配列を以下のための第二スイッチング素子
アレイ全体が順序付けされるまで等々次と、

次は具体的な例を見て:
選択されたソートアレイ用いて{S、O、R、T 、E、X、A、M、P、Lを、E}は順序付けられた
ヒント:私は、ソートminは最小数を表し示しインデックス要素
I分。1 0 2 3 4 5 6 7 8 9 10
      S O R&T LT M P L E E X-
0.6 X-S O R&T E LT  M P L E 。1. 4  
A O R T E X S M P L E
2 10 A E R T O X S M P L E
3 9  AとE T O X S M P L R
4 7  AとE L O X S M P T R
5 7  E E L M X S O P T R
6 8  A E L E M O S X P T R
7 10 E E L M O P X S T R
8 8  E E L M O P R S T X
9 9  A E E L M O P R S T X
10 10 E E L M O P R S T X-
---------------------------
行われるソーティング:A E E L M O P R S T X

コード表示

package Sort;

import java.util.*;

public class Selection_Sort {
	//选择排序
	public static void sort(Comparable[] a) {
		int N = a.length;
		for (int i = 0; i < N; i++) {
			//将a[i]和a[i+1]到a[N]中的最小元素作交换
			int min = i;
			for (int j = i+1; j<N; j++) {
				if ( a[j].compareTo(a[min]) < 0 )//如果a[j]<a[min]
					min = j;
			}
			//将a[i]和a[min]调换位置
			Comparable t = a[i];
			a[i] = a[min];
			a[min] = t;
		}
	}
	
	//用于打印展示数组的方法
	private static void show(Comparable[] a) {
		for (int i = 0; i<a.length; i++)
			System.out.print(a[i]+" ");
		System.out.println();
	}
	
	//用例
	public static void main(String[] args) {
		Scanner reader = new Scanner(System.in);
		String in = reader.nextLine();
		String[] a = in.split(" ");
		sort(a);//调用上面的选择排序方法
		show(a);
	}
}

入力、出力
入力:
2,233,441,166,558,877
出力:
1,122,334,455,667,788

並び替え成功!

リリース元の2件の記事 ウォンの賞賛0 ビュー21

おすすめ

転載: blog.csdn.net/weixin_45434953/article/details/104238633