6.3 単純選択法


(1)考え方


最小の要素を選択し,先頭の要素と交換する方法。
単純交換法に比べて,
交換のためのコストは少なくなりますが,
離れた場所を交換するので,安定でないソートになります。


(2)手順


以下のように,
未ソート部の最小要素を未ソート部の先頭と交換します。
未ソート部のポインタは1ずつカウントアップします。
未ソート部より前は,ソートされた状態(既ソート部)になります。


     


[プログラム例]

  private void 単純選択法()
  {
    int i,j,ID,minDATA;
    for(i=0;i<Data.Length-1;i++)
    {
     minDATA=Data[i];ID=i;
     for(j=i+1; j<Data.Length; j++)
          if(minDATA>Data[j]){ minDATA=Data[j];ID=j; }
     if(ID!=i){ Data[ID]=Data[i];Data[i]=minDATA;}
    }
  }



1. 基本的なアルゴリズム

2. 基本的なデータ構造

3. 操作を伴うデータ構造

4. 探索

5. 再帰的アルゴリズム

6. ソート

7. 集合

8. 文字列処理

9. 色々なアルゴリズム


上のタイトルをクリックします