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>