JavaScript算法---基础排序类

<html>
<script>
    //正序排序,把大的放到最后,arr[j]>arr[j+1]
let fz=(arr)=>{
for(let len=arr.length-1,i=len,tmp;i>0;i--){
    for(let j=0;j<i;j++)
if(arr[j]>arr[j+1]){
tmp=arr[j]
arr[j]=arr[j+1]
arr[j+1]=tmp
}
}
return arr
}
//倒序排序,把大的放前面,小的放后面,arr[j+1]>arr[j]
let fd=(arr)=>{
 for(let i=arr.length-1,tmp;i>0;i--){
     for(let j=0;j<i;j++){
         if(arr[j+1]>arr[j]){
             tmp=arr[j]
             arr[j]=arr[j+1]
             arr[j+1]=tmp
         }
     }
 }
return arr
}
//选择排序,标记一个最小值
let fs = (arr)=>{
    for(let i=0,len=arr.length,min;i<len;i++){
        min=arr[i]
        for(let j=i+1;j<len;j++){
            if(min>arr[j]){
                let c=min;
                min=arr[j]
                arr[j]=c
            }
        }
        arr[i]=min
    }
    return(arr)
}
 console.log(fz([4,3,8,6,7,1,0]))
 console.log(fd([4,3,8,6,7,1,0]))
 console.log(fs([10,-1,4,3,8,6,7,1,0]))
</script>
</html>

<html><script>//正序排序,把大的放到最后,arr[j]>arr[j+1]let fz=(arr)=>{for(let len=arr.length-1,i=len,tmp;i>0;i--){for(let j=0;j<i;j++)if(arr[j]>arr[j+1]){tmp=arr[j]arr[j]=arr[j+1]arr[j+1]=tmp}}return arr}//倒序排序,把大的放前面,小的放后面,arr[j+1]>arr[j]let fd=(arr)=>{ for(let i=arr.length-1,tmp;i>0;i--){ for(let j=0;j<i;j++){ if(arr[j+1]>arr[j]){ tmp=arr[j] arr[j]=arr[j+1] arr[j+1]=tmp } } }return arr}//选择排序,标记一个最小值let fs = (arr)=>{for(let i=0,len=arr.length,min;i<len;i++){min=arr[i]for(let j=i+1;j<len;j++){if(min>arr[j]){let c=min;min=arr[j]arr[j]=c}}arr[i]=min}return(arr)} console.log(fz([4,3,8,6,7,1,0])) console.log(fd([4,3,8,6,7,1,0])) console.log(fs([10,-1,4,3,8,6,7,1,0]))</script></html>

原文地址:https://www.cnblogs.com/cheryshi/p/11661402.html