zoukankan      html  css  js  c++  java
  • 几种排序的算法

    最近闲来无事,就看看算法什么的。首先接触的就是那个排序。冒泡排序估计每个人都熟的不行了吧。我自己有研究了以下两个

    快速排序

    public static int [] fastSort(int [] sortArr,int low,int high){
    int i,j,key;

    if(low<high){//这个条件用来结束递归
      i=low;
      j=high;
      key=sortArr[i];
      while(i<j){
      while(i<j&&sortArr[j]>key){
        j--;//从右向左找一个小于基准的数
      }
      if(i<j){
        sortArr[i]=sortArr[j];
        i++;
      }
      while(i<j&&sortArr[i]<key){
        i++;//从左向右找一个大于基准的数
      }
      if(i<j){
        sortArr[j]=sortArr[i];
        j--;
      }
    }
    sortArr[i]=key;
    //递归
    fastSort(sortArr,low,i-1);
    fastSort(sortArr,i+1,high);
    }
    return sortArr;
    }

    下面还有选择排序法

    public static int [] selectSort(int [] arrNum){
      int i,j,k,temp;
      for(i=0;i<arrNum.length;i++){
        k=i; //保存i的值,用k来循环排序
        for(j=i+1;j<arrNum.length;j++){//将第i个元素后面的元素与第i个元素进行比较
          if(arrNum[j]<arrNum[k]){//如果第k=i个元素后面的元素小于i号元素,交换两个元素的标号这样就让最小元素放到最前面
            k=j; //交换标号
            temp=arrNum[k]; //循环借宿后,交换两标号
            arrNum[k]=arrNum[i];
            arrNum[i]=temp;
          }
        }
      }

      return arrNum;
    }

  • 相关阅读:
    PHP和Redis实现在高并发下的抢购及秒杀功能示例详解
    thinkphp整合系列之微信公众号支付
    JS之变量的运算
    (php)thinkphp3.2配置sql_server
    jyd数据结构
    mac终端下svn常用命令
    项目学习
    抛错
    phpunit
    Python
  • 原文地址:https://www.cnblogs.com/wangxiangstudy/p/4626928.html
Copyright © 2011-2022 走看看