var array = new Array(8, 4, 2, 3, 6);
document.write(array);
b = 5;
for (k = 0; k < b - 1; k++) {
swap = 0;
for (i = 0; i < b - k - 1; i++) {
if (array[i] > array[i + 1]) {
temp = array[i + 1];
array[i + 1] = array[i];
array[i] = temp;
swap++;
}
}
document.write(array[i] + " ");
}
Вместо отсортированного списка выводит: 8 4 2 3 68 6 4 3
.
Вывод отсортированного массива нужно производить после цикла и вместо явного указания размера массива лучше использовать свойство Length
var array = [8, 4, 2, 3, 6];
swap =0;
for (k = 0; k < array.Length; k++) {
for (i = 0; i < array.Length - k - 1; i++) {
if (array[i] > array[i + 1]) {
temp = array[i + 1];
array[i + 1] = array[i];
array[i] = temp;
swap++;
}
}
}
for (i=0;i<array.Length; i++)
document.write(array[i] + " ");
вместо отсортированного списка выводит:---> 8,4,2,3,68 6 4 3
ну так всё правильно, 8,4,2,3,6
это ваш первый вывод перед циклом document.write(array);
и затем дальше пишется 8 6 4 3
вот этой строкой document.write(array[i] + " ");
только поменяйте i на k - document.write(array[k] + " ");
И вообще лучше вывод делать за циклом. Сортировка и вывод это две логически разные операции, надо такое разделять.
Как совет: лучше написать функцию, которая будет сортировать и возвращать отсортированный массив, на мой взгляд так будет правильнее, можно будет использовать в дальнейшем. Смотреть, что получилось в результате - по завершению сортировки. Убрать неиспользуемую переменную swap
. Пример рабочего кода:
var array = new Array(8, 4, 2, 3, 6);
function BubbleSort(arr) {
var n = arr.length;
for (var i = 0; i < n - 1; i++) {
for (var j = 0; j < n - 1 - i; j++) {
if (arr[j + 1] < arr[j]) {
var temp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = temp;
}
}
}
}
BubbleSort(array);
for (index = 0; index < array.length; index++)
document.write(array[index] + " ");
Пузырьковая сортировка выполняет следующие действия: проход по массиву с обменом местами соседних элементов, нарушающих заданный порядок, до тех пор, пока массив не будет окончательно отсортирован.
Очень полезная ссылка: Алгоритмы сортировок на JavaScript
Виртуальный выделенный сервер (VDS) становится отличным выбором
запущенны 2 nodeJS сервера, с одного делаю ajax-запрос ко второму: