JSFiddle - React, Tailwind, and code Playground
by etianqq
JavaScript
// 冒泡排序
//
// 假设正在将一组数字按照升序排列,较大的值会浮动到数组的右侧,而较小
// 的值则会浮动到数组的左侧。
// 之所以会产生这种现象是因为算法会多次在数组中移动,比
// 较相邻的数据,当左侧值大于右侧值时将它们进行互换。
function bubbleSort(numElements) {
var len = numElements.length;
var temp;
for (var outer = len; outer >= 2; --outer) {
for (var inner = 0; inner <= outer-1; ++inner) {
if (numElements[inner] > numElements[inner+1]) {
swap(numElements, inner, inner+1);
}
}
}
}
function swap(arr, index1, index2) {
var temp = arr[index1];
arr[index1] = arr[index2];
arr[index2] = temp;
}
var elements = [6,8,0,6,7,4,3,1,5,10];
bubbleSort(elements);
document.write(elements.toString());