zoukankan      html  css  js  c++  java
  • 排序:冒泡和改进

    //冒泡排序
    function bubble_sort(array){
    var arr = array.concat();
    var len = arr.length;
    for(var i = len; i > 0; i--){
    var key = 0;
    while(key < i){
    if(arr[key] > arr[key+1]){
    var temp = arr[key];
    arr[key] = arr[key+1];
    arr[key+1] = temp;
    }
    key++;
    }
    }
    alert(arr);
    }
    //改进1:没有发生交换则代表排序完成
    function bubble_sort_1(array){
    var arr = array.concat();
    var len = arr.length;
    var flag;
    for(var i = len; i > 0; i--){
    var key = 0;
    flag = 0;
    while(key < i){
    if(arr[key] > arr[key+1]){
    var temp = arr[key];
    arr[key] = arr[key+1];
    arr[key+1] = temp;
    flag = 1;
    }
    key++;
    }
    if(flag == 0){break;}
    }
    alert(arr);
    }
    //改进:一趟同时冒泡大小两种
    function bubble_sort_2(array){
    var arr = array.concat();
    var len = arr.length;
    var front = 0;
    var back = len - 1;
    while(front < back){
    for(var i = front; i < back; i++){
    if(arr[i] > arr[i+1]){
    var temp = arr[i];
    arr[i] = arr[i+1];
    arr[i+1] = temp;
    }
    }
    back--;
    for(var j = back; j >= 0; j--){
    if(arr[j-1] > arr[j]){
    var temp = arr[j];
    arr[j] = arr[j-1];
    arr[j-1] = temp;
    }
    }
    front++;
    }
    alert(arr);
    }
  • 相关阅读:
    2017.10.12
    2017.10.25
    2017.10.24
    进度条06
    课堂练习(返回一个环状一维整数数组中最大子数组的和)
    团队项目成员和题目
    团队作业--四则运算网页版
    进度条04
    个人作业(最大子数组)
    进度条03
  • 原文地址:https://www.cnblogs.com/zawjdbb/p/6663749.html
Copyright © 2011-2022 走看看