c++几个小技巧和小套路思路总结(全排列等)

一:memset(a,0/false,sizeof(a));

格式:memset(数组名,被赋值的值,数组长度)

也就是要把数组初始化一些值的操作,初始一般可以赋值0或者赋值false;


二:next_permutation函数;

    解释:求一个排序(及某一个序列)的下一个排序的函数--->求下一个序列的规则是按照词典顺序的

   应用:1结合while(next_permutation(a,a+n)(n指序列有n个数)可以输出此时序列后面的所有词典序列;

           2.若当前序列为词典里最小最初最低的那个序列,则可以输出一个全排列。(可以借鉴解决其它遍历问题)

   内部原因:while(next_permutation(a,a+3)),如果存在a之后的排列,就返回true。如果a是最后一个排列,即字典里面没有后继,则返回false。

    代码实例:

do
{                                  //这种结构能够输出全排列。
    cout<<a[0]<<a[1]<<a[
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值