zoukankan      html  css  js  c++  java
  • 冒泡排序

    核心思想:第i趟排序就是从序列中前n-i+1个元素的第1个元素开始,相邻两个元素进行比较,若前者大于后者,两者交换位置,否则不交换。

    var arr = [38,49,65,97,76,13,27,49];
    第一种:
    var bubbleSort = function(arr){
      var i=0, j,temp,flag=1;
      var n = arr.length;
      while(i<n&&flag==1){
        flag = 0;
        for (j=0;j<n-i+1;j++){
          if(arr[j]>arr[j+1]){
            temp = arr[j];
            arr[j] = arr[j+1];
            arr[j+1] = temp;
            flag=1;
          }
        }
      i++; }
    }
    第二种:
    var bubbleSort = function(arr){
      var i, j,temp,flag=1;
      var n = arr.length;
      i = n-1;
      while(i>0 && flag==1){
        flag = 0;
        for (j=0;j<=i;j++){
          if(arr[j]>arr[j+1]){
            temp = arr[j];
            arr[j] = arr[j+1];
            arr[j+1] = temp;
            flag = 1;
          }
        }
      i++; } }
    bubbleSort(arr);
    console.log(arr);
    算法分析:泡排序算法的平均时间复杂度O(n2);因此,跑排序比较适合参加排序序列数据量较小的情况,尤其是当序列的初始状态为基本有序情况。
  • 相关阅读:
    双色球随机一注
    if else的简写
    select
    预解析
    json
    数组方法
    arguments
    国密SM4算法
    AES算法
    Feistel算法结构与DES加密算法
  • 原文地址:https://www.cnblogs.com/jymz/p/4179628.html
Copyright © 2011-2022 走看看