Хорошо, я не в курсе от этих школьных теорий, но я пытаюсь освежиться. Я прочитал алгоритм и внедрил его. Вот кодПонимание Bubble/Insertion sort
public int[] bubbleSort(int[] array)
{
int swap_bucket;
for (int i = 0; i < array.length; i++)
{
for (int j = i + 1; j < array.length; j++)
{
if (array[i] > array[j])
{
swap_bucket = array[i];
array[i] = array[j];
array[j] = swap_bucket;
}
}
}
return array;
}
А вот сортировка вставками
public int[] InsertionSort(int array[])
{
int swap_bucket;
for (int i = 0; i < array.length; i++)
{
for (int k = i; ((k > 0) && (array[k] < array[k-1])); k--)
{
swap_bucket = array[k];
array[k] = array[k-1];
array[k-1] = swap_bucket;
}
}
return array;
}
Для меня, как выглядит одинаково. Я сравниваю каждый элемент и тот момент, когда я его нахожу, я меняю его .. но похоже, что обе реализации более или менее одинаковы. Я неправильно сформулировал это?
Я думаю, что ваши реализации верны. По моему мнению, сортировка сорта и сортировка пузырьков аналогичны. – johnchen902
Да, По-моему, вы кодировали Insertion sort wrong .. Проверьте реализацию на [Insertion Sort] (http://mathbits.com/MathBits/Java/arrays/InsertionSort.htm) –
Подсказка: как ваш сортировка вставки включает вставку ? –