zoukankan      html  css  js  c++  java
  • 简单的冒泡的排序算法(AS3)

     1 package
     2 {
     3     /**
     4      * 冒泡排序算法
     5      * @author ANT
     6      * 对一个数组进行有小到大的冒泡排序
     7      */    
     8     public class BubbleSort
     9     {
    10 //        public var arr:Array=[1,0,3,10,8,4];
    11         public var arr:Array;
    12         public function BubbleSort()
    13         {
    14             arr=new Array();
    15             for(var i:int=1;i<=10;i++){
    16                 arr.push(Math.random()*i);
    17             }
    18 //            sort1(arr);
    19 //            this.sort2(arr);
    20             this.sort3(arr);
    21         }
    22         /**
    23          * 简单的类似冒泡的排序算法,但不是真正的冒泡排序算法
    24          */
    25         private function sort1(arr:Array):void{
    26             var temp:*;
    27             for(var i:int=0;i<arr.length;i++){
    28                 for(var j:int=i+1;j<arr.length;j++){
    29                     if(arr[i]>arr[j]){
    30                         temp=arr[i];
    31                         arr[i]=arr[j];
    32                         arr[j]=temp;
    33                     }
    34                 }
    35             }
    36         }
    37         /**
    38          * 正宗的冒泡排序算法,排序的过程就像水中的气泡慢慢浮到水上面
    39          * 当处理的数据量比较大的时候,两种算法还是有些差距的,sort2效率更高些
    40          */        
    41         private function sort2(arr:Array):void{
    42             var temp:*;
    43             for(var i:int=0;i<arr.length;i++){
    44                 for(var j:int=arr.length-2;j>=i;j--){
    45                     if(arr[j]>arr[j+1]){
    46                         temp=arr[j];
    47                         arr[j]=arr[j+1];
    48                         arr[j+1]=temp;
    49                     }
    50                 }
    51             }
    52         }
    53         /**
    54          * 优化后的冒泡排序算法
    55          * 可以避免有序的情况下的无意义循环判断 
    56          */    
    57         private function sort3(arr:Array):void{
    58             var temp:*;
    59             var flag:Boolean=true;
    60             for(var i:int=0;i<arr.length && flag;i++){
    61                 flag=false;
    62                 for(var j:int=arr.length-2;j>=i;j--){
    63                     if(arr[j]>arr[j+1]){
    64                         flag=true;
    65                         temp=arr[j];
    66                         arr[j]=arr[j+1];
    67                         arr[j+1]=temp;
    68                     }
    69                 }
    70             }
    71         }
    72     }
    73 }
  • 相关阅读:
    HttpContext.GetOwinContext().Authentication 报错 解决办法
    owin Claims-based认证登录实现
    angularjs初识ng-app、ng-model、ng-repeat指令
    SpringBoot配置slf4j logback-spring.xml日志
    idea时间注释模版
    oracel截取字符串
    win10官网下载地址
    使用HttpWebRequest实现basic身份认证
    mybatis常用jdbcType数据类型与mysql的类型对照
    修改IntelliJ IDEA 默认配置路径
  • 原文地址:https://www.cnblogs.com/finger/p/2507007.html
Copyright © 2011-2022 走看看