我有一个 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++;
}
}