首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    递归函数设计技巧

    下面的这个就是实现的我们的排列型枚举,这个枚举和上面的区别就是我们的这个枚举的过程,可以是不按照一个递增的顺序进行排列,就是我们的这个后面的数字的大小可以小于前面的数字; 这个时候,我们的思路就稍稍有了一些变化,我们定义一个新的viso...这个数组,因为我们刚开始的时候定义这个数组全部初始化为0,表示这个数组里面的元素没有被使用过,viso[k]不为0,这个时候,说明这个数字就被使用过,我们这个时候直接continue跳过这个数字; 否则...,这个数组这个位置的元素就是0,没有被使用过,我们就要向这个数组里面填数据,arr[i]=k表示把这个没有用过的数据填充到k下标的位置,用过之后这个viso[k]就要置为1,表示这个已经被用过了,然后就是填充这个...i+1位置,进行递归,下面的这个viso[k]=0表示这个数字又没有使用过了; 这个是什么意思呢,因为我们上面的这个f(i+1,n)不断地进行递归之后,我们的这个已经全部使用了一遍,例如,我们上面的这个是...123 132这种,这个时候,我们的1开头的已经全部列举完成了,因此我们需要已2开头进行列举,这个时候,我们之前的这个所有的标记就是需要清零,重新以2作为起始数据开始列举,因此这个viso[k]=0

    5310
    领券