Web 前端开发

js中递归的使用

2018-03-20  本文已影响0人  莹莹宋

自己调用自己,称为递归调用

function fun() {
    fun();
    console.log("m2");
}
fun()

举例

求阶乘

function func(n) {
    if (n == 1) {
    }
    return n * func(n - 1);
}

斐波那契数列第n项

function func(n){
    if(n==1||n==0){
        return 1;
    }
    return func(n-1)+func(n-2)
}

快速排序

var quickSort = function (arr) {
    if (arr.length <= 1) { return arr; }
    var pivotIndex = Math.floor(arr.length / 2);
    var pivot = arr.splice(pivotIndex, 1)[0];
    var left = [];
    var right = [];
    for (var i = 0; i < arr.length; i++) {
          if (arr[i] < pivot) {
                left.push(arr[i]);
          } else {
                right.push(arr[i]);
          }
    }
    return quickSort(left).concat([pivot], quickSort(right));
};

总结

相同的算法循环,寻找本次结果与上次结果的联系。

上一篇下一篇

猜你喜欢

热点阅读