ホーム > デベロッパ > SophiaFramework > BREW C++ 逆引きコード集

BREW C++ プログラミング : SophiaFramework 逆引き FAQ・コード集

コレクションの要素をソートする

SophiaFramework にはコレクションの要素をソートする関数は用意されていません。

参考までに、バブルソートを行う関数を示します。

template<typename T>
Void Sort(SFXArray<T>* array)
{
    T i, j, temp;
    for (i = 0; i < array->GetSize() - 1; ++i) {
        for(j = array->GetSize() - 1; j > i; --j) {
            if((*array)[j] < (*array)[j-1]) {
                temp = (*array)[j];
                (*array)[j] = (*array)[j-1];
                (*array)[j-1] = temp;
            }
        }
    }
}

使用例

SFXArray<SInt32> array;
array.Append(5); array.Append(2);
array.Append(70); array.Append(-41);
array.Append(31); array.Append(0);

Sort(&array);  // array の中は -41, 0, 2, 5, 31, 70 となる

参照 SFXArray::Append | SFXArray::GetSize