Я пишу 2 разных вида, один из которых - выбор, другой - вставка. Ниже приведен мой метод сортировки вставками.
public static void iSort(String[] array)
{
int i, j, k;
String temp;
for(i = 1; i<array.length; i++)
{
k=i;
for(j = k-1; j>=0 && array[j].compareTo(array[k])>0; j--)
{
ccounter++;
temp = array[j];
array[j] = array[k];
array[k] = temp;
k--;
}
}
}
где ccounter — статическая переменная класса. Когда я проверяю это, используя массив строк из 1000 элементов, я получаю значение 239507. Однако, когда я тестирую правильно упорядоченный массив строк, я получаю нулевое значение, которое, как я знаю, неверно, поскольку в лучшем случае производительность n сравнений для n терминов. Интересно, мой метод написан неправильно, или счетчик поставлен неправильно
<=0
) - person njzk2   schedule 30.09.2014