私は10個のintの配列を持っており、選択ソートを使用して計算すると、配列全体をソートするには約45回の比較が必要ですが、私の計算ではマージソートを使用してソートするのに何回かかるかわかりません.12回の比較が必要です... . ここで私は正しいですか、それとも間違っていますか?
前もって感謝します
これがマージ方法です
static void merge(int[] first, int[] second, int[] a)
{
int iFirst = 0;
int iSecond = 0;
int i = 0;
//moving the smaller element into a
while(iFirst < first.length && iSecond < second.length)
{
if(first[iFirst] < second[iSecond])
{
a[i] = first[iFirst];
iFirst++;
}
else
{
a[i] = second[iSecond];
iSecond++;
}
i++;
}
counter += i;
//copying the remaning of the first array
while(iFirst < first.length)
{
a[i] = first[iFirst];
iFirst++; i++;
}
//copying the remaining of second array
while(iSecond < second.length)
{
a[i] = second[iSecond];
iSecond++; i++;
}
}