zoukankan      html  css  js  c++  java
  • 用js实现简单排序算法

    一.冒泡排序

    var arr1=[3,9,2,7,0,8,4];
    for(var i=0;i<arr1.length;i++){
      for(var j=i+1;j<arr1.length;j++){
        var temp=0;
        if(arr1[i]>arr1[j]){
          temp=arr1[i];
          arr1[i]=arr1[j];
          arr1[j]=temp;
        }
      }
    }
    alert(arr1);

    二.快速排序

    var a=[3,5,0,9,2,7,5];
    function quickSort(arr){
      var len=a.length;
      if(len<=1) return arr;

      function sort(low,height){
        var pivot=a[low];
        var i=low,j=height,t;
        if(i>j) return false;
        while(i!=j){
          while(a[j]>=pivot&&i<j){
            j--;
          }
          while(a[i]<=pivot&&i<j){
            i++;
          }
          if(i<j){//把比pivot大的换到右边,小的换到左边
            t=a[i];
            a[i]=a[j];
            a[j]=t;
          }
        }
        //此时i和j指向同一个数字,把这个数字和pivot交换
        a[low]=a[i];
        a[i]=pivot;
        //递归:把pivot左边的数进行一次排序,右边的数进行一次排序
        sort(low,i-1);
        sort(i+1,height);
      }
      //调用这个排序的函数
      sort(0,len-1);
      return a;
    }
    alert(quickSort(a));

    三.选择排序

    var arr=[3,6,9,4,7,2,4,1];
    var a=[],len=arr.length,t;
    while(len>0){
      for(var i=1;i<len;i++){
        if(arr[0]>arr[i]){
          t=arr[0];
          arr[0]=arr[i];
          arr[i]=t;
        }
      }
      var num=arr.shift(arr[0]);//去掉arr[0]
      a.push(num);
      len--;
    }
    alert(a);

  • 相关阅读:
    java 开发webservice
    myeclipse下jsp页面汉字不能保存问题
    java web项目的部署
    Java小白手记:WEB项目等
    操作系统学习笔记:虚拟内存
    面向接口编程
    WEB端应该使用DataTable/DataSet吗?
    ExtJs grid合并单元格
    操作系统学习笔记:内存管理
    Oracle中长度为0字符串与null等价
  • 原文地址:https://www.cnblogs.com/jinxiangli/p/5903632.html
Copyright © 2011-2022 走看看