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());