無差別に技術をついばむ鳥

情報処理技術全般を気まぐれにつつくゆるいブログです

Javaを咥えてアルゴリズムをつつく0−基本選択ソート(型固定バージョン)。椅子取りゲームみたい。

この記事は「個別のアルゴリズムをつつく0−基本選択ソート。主は此処になおれ!」との連動企画ピヨ。詳しい説明はそちらを見てね。 そして、ボクの実装例を見る前に自分で実装を試みよう。
ではさっそく、つまらないものですがどーぞ♪


public class Main {
    public static void main(String[] args) {
        int values[] = new int[] {  9,3,5,6,2,8,7,0,1,4  };
        System.out.println("整列前のデータ");
        for(int i = 0; i < values.length; i++) 
            System.out.print(values[i] + "\t");

        System.out.println("\n整列後のデータ");
        int[] result = SelectionSort.sort(values);
        for(int i = 0; i < result.length; i++) 
            System.out.print(result[i] + "\t");
    }
}

class SortMan {

    //要素を昇順に整列する
    public static int[] sort(int values[]) {
        for(int sortPoint = 0; sortPoint < values.length - 1; sortPoint++) {
            int min = sortPoint;
            for (int index = sortPoint + 1; index < values.length; index++) {
                if( (int) values[ min ] > (int) values[ index ] )
                    min = index;
            }
            if( min != sortPoint) exchange(values, sortPoint, min);
        }        
        return values;
    }
    
    //要素を交換する
    private static void exchange( int values[], int destination, int source) {
        int tmp = values[ destination ];
        values[ destination ] = (int)values[ source ];
        values[ source ] = tmp;
    }
}


これは見ての通りint型に固定されているからあまりいい実装とは言えないピヨ。型が固定されていないバージョンは、また今度お見せするするピヨ。 それまでの間にこのプログラムを料理しよう。
別窓 | Java | コメント:0 | トラックバック:0 | ∧top | under∨
<<C#を咥えてアルゴリズムをつつく1−基本選択ソート(再帰関数バージョン)。自身に問いかける。 | 無差別に技術をついばむ鳥 | C#を咥えてアルゴリズムをつつく0−基本選択ソート(型固定バージョン)。椅子取りゲームみたい。>>

この記事のコメント

∧top | under∨

コメントの投稿

 

管理者だけに閲覧
 

この記事のトラックバック

∧top | under∨
| 無差別に技術をついばむ鳥 |