• JavaScript算法-冒泡排序

    JavaScript算法-冒泡排序

    • 冒泡排序
    • 最慢的排序算法之一
    • 冒泡排序,之所以这么叫是因为使用这种排序算法排序时,数据值就会像气泡一样从数组的一端漂浮到另一端。假设正在将一组数字按照升序排列,较大的值会浮动到数组的右侧,而较小的值会浮动到数组的左侧。之所以会产生这种现象是因为算法会多次在数组中移动,比较相邻的数据,当左侧值大于右侧值时将它们进行互换。
    1. function bubbleSort() {
    2. var numElements = this.dataStore.length; //获取数组长度
    3. var temp;// 定义临时对象
    4. for (var outer = numElements; outer >= 2; --outer) {//对元素遍历,直到最后剩2个数字
    5. for (var inner = 0; inner <= outer - 1; ++inner ) {//从第零个开始,直到不满足
    6. if (this.dataStore[inner] > this.dataStore[inner + 1]) {//如果,前一个大于后一个,
    7. swap(this.dataStore,inner,inner + 1);//进行交换
    8. }
    9. }
    10. }
    11. }//通过比较把最大的放到最右面
    • 使用bubbleSort()对10个数字排序
    1. var numElements = 10;
    2. var mynums = new CArray(numElements);
    3. mynums.setData();
    4. console.log(mynums.toString());
    5. mynums.bubbleSort();
    6. console.log(mynums.toString);