HIRASE CONNECTION WK

programming collection

目次

Blog 利用状況

ニュース

あわせて読みたいブログパーツ

書庫

日記カテゴリ

Link Collection

[C++] 選択ソート

選択ソート(直接選択ソート、Selection sort)。

一番小さいのを選んで、先頭へ。次に小さいのを選んで2番目に・・・と並べる。一般的には、同じ要素の並びが変わってしまう不安定ソート。

template<typename TElement, typename TSize>
void SelectionSort(TElement * data, const TSize size)
{
    TSize tail = size - 1;
    for (TSize head = 0; head < tail; ++head)
    {
        TElement * pMin = (data + head);
        for (TSize pos = head + 1; pos < size; ++pos)
            if (data[pos] < *pMin) pMin = (data + pos);
    
        if (data + head != pMin)
        {
            TElement temp = data[head];
            data[head] = *pMin;
            *pMin = temp;
        }
    }
}

投稿日時 : 2008年5月8日 0:18

コメントを追加

No comments posted yet.
タイトル  
名前  
URL
コメント