三种常用的排序算法[JS版]

<script type="text/javascript">   
     
function InsertSort(arr)//直接插入法   
     
{   
     
        var tArr,i,j,tInt,intCount;   
     
        tArr=arr;   
     
        intCount=tArr.length;   
     
        for (var i=0;i<intCount-1;i++)   
     
        {   
     
                if (tArr[i] > tArr[i+1])   
     
                {   
     
                        for (j=i+1;j>0 ;j-- )   
     
                        {   
     
                                if (tArr[j] < tArr[j-1])   
     
                                {   
     
                                        tInt=tArr[j];   
     
                                        tArr[j] = tArr[j-1];   
     
                                        tArr[j-1]=tInt;   
     
                                }   
     
                        }   
     
                }   
     
        }   
     
        return tArr;   
     
}   
     
  
     
  
     
function BubbleSort(arr)//冒泡法   
     
{   
     
        var tArr,i,j,tInt,boolExchange,intCount;   
     
        tArr=arr;   
     
        intCount=tArr.length;   
     
        for (var j=0;intCount-1;j++)   
     
        {   
     
                boolExchange=false;   
     
                for (var i=intCount;i>j;i--)   
     
                {   
     
                        if (tArr[i] < tArr[i-1])   
     
                        {   
     
                                tInt=tArr[i];   
     
                                tArr[i]=tArr[i-1];   
     
                                tArr[i-1]=tInt;   
     
                                boolExchange=true;   
     
                        }   
     
                }   
     
                if (boolExchange==false)   
     
                {   
     
                        return tArr;   
     
                }   
     
        }   
     
        return tArr;   
     
}   
     
  
     
function StraightSelectionSort(arr)//直接选择法   
     
{   
     
        var tArr,i,j,k,tInt,intCount;   
     
        tArr=arr;   
     
        intCount=tArr.length;   
     
        for (var i=0;i<intCount;i++)   
     
        {   
     
                k=i;   
     
                for (j=i;j<intCount;j++)   
     
                {   
     
                        if (tArr[j] < tArr[k])   
     
                        {   
     
                                k=j;   
     
                        }   
     
                }   
     
                tInt = tArr[i];   
     
                tArr[i] = tArr[k];   
     
                tArr[k] = tInt;   
     
        }   
     
        return tArr;   
     
}   
     
</script>    
 

    相关文章

评论

发表新评论

此内容将保密,不会被其他人看见。
点击刷新验证码
  • 可用的 UBB 标签:
  • 留言最长字数:1000。