これは単純な選択ソートのコードです。通常、ソートの複雑さ(時間)は、選択ソートの場合にO(n ^ 2)をソートするために必要な反復回数です。このコードを98765のサンプル文字列に対してドライランしたとき、それは私に25回の反復を与えました。ドライラン出力とクロスチェックするために、コードに2つのvbl-noiとnojを入れました。
Q:合計反復回数は= noi*nojまたはnoi+nojになりますか。
int index = 0; int noi = 0, noj = 0;
for (j = 0; j < 5; j++)
{
noj++;
index = j;
for (i = j; i < 5; i++)
{
if (a[index] > a[i])
{
a[index] = a[index] + a[i];
a[i] = a[index] - a[i];
a[index] = a[index] - a[i];
noi++;
}
}
}