// 冒泡排序
function bubbleSort(arr){
    for(var i=0;i<arr.length;i++){
        for(var j=0;j<arr.length-i-1;j++){
            if(arr[j]>arr[j+1]){
                var tmp=arr[j]
                arr[j]=arr[j+1]
                arr[j+1]=tmp
            }
        }
    }
}
var arr=[3,2,5,1,4]
bubbleSort(arr)
console.log(arr)
// 选择排序
function selectSort(arr){
    for(var i=0;i<arr.length;i++){
        var minIndex=i
        for(var j=i;j<arr.length;j++){
            if(arr[minIndex]>arr[j]){
                minIndex=j
            }
        }
        if(i!==minIndex){
            var tmp=arr[i]
            arr[i]=arr[minIndex]
            arr[minIndex]=tmp
        }
    }
}
var arr=[3,2,5,1,4]
selectSort(arr)
console.log(arr)
function insertSort(arr){
    for(var i=1;i<arr.length;i++){
        var j=i
        var tmp=arr[j]
        while(j>0){
            if(tmp<arr[j-1]){
                arr[j]=arr[j-1]
            }else{
                break
            }
            j--
        }
        arr[j]=tmp
        
    }
}
var arr=[3,2,5,1,4]
insertSort(arr)
console.log(arr)
function quickSort(arr){
    function innerQuickSort(innerArr){
        if(innerArr.length<=1)return innerArr
        
        var left=[]
        var right=[]
        var base=innerArr[0]
        for(var i=1;i<innerArr.length;i++){
            if(innerArr[i]<base){
                left.push(innerArr[i])
            }else{
                right.push(innerArr[i])
            }
        }
        var newLeft=innerQuickSort(left)
        var newRight=innerQuickSort(right)
        return [...newLeft,base,...newRight]
    }
    return innerQuickSort(arr)
}
var arr=[3,2,5,1,4]
console.log(quickSort(arr))
let arr = [
    {id: 1, name: '部门1', pid: 0},
    {id: 2, name: '部门2', pid: 1},
    {id: 3, name: '部门3', pid: 1},
    {id: 4, name: '部门4', pid: 2},
    {id: 5, name: '部门5', pid: 4},
]
function tree(pid,arr){
    return arr.filter(item=>item.pid===pid).map(item=>({...item,children:tree(item.id,arr)}))
}
 
网友评论