zoukankan      html  css  js  c++  java
  • 递归思想实例

    简述

    代码实例

    1)字母反转

    #递归思想,递归向里面往外扩展呈现出来的也就是从里到外的
    def func(str_num):
        if len(str_num) <1:
            return str_num
        return func(str_num[1:])+str_num[0]
    result = func(str_num)
    print result

    2)快排

    def kuaiPai(num):
        da,zhong,xiao = [],[],[]
        #如果没有条件条件限制会报错“IndexError: list index out of range”
        #新的递归da或xiao数组赋给num;
        #小于1说明是最后一次递归return num而不是最后一次递归的数据
        if len(num)<1:
            return num
        pivo = num[0]
        for i in range(len(num)):
            if num[i] > pivo:
                da.append(num[i])
            elif num[i] < pivo:
                xiao.append(num[i])
            else:
                zhong.append(num[i])
        less = kuaiPai(xiao)
        more = kuaiPai(da)
        return less+zhong+more
    print(kuaiPai(num=[8,2,3,1,5,2]))
    转载引用请标明出处,本博出自喝了少不如不喝的博客https://home.cnblogs.com/u/wangdadada
  • 相关阅读:
    .NET 4.0 中的契约式编程
    DELL安装Windows Server 2019
    Mysql 5.7.34免安装版本
    MQTT
    WPF属性
    WPF数据绑定
    git系列之(五)git stash 命令
    Vue.js
    git 对比两个分支差异
    TPL 之二 TransformBlock
  • 原文地址:https://www.cnblogs.com/wangdadada/p/12113296.html
Copyright © 2011-2022 走看看