  
(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. 色々なアルゴリズム

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