c++按序或按位分串

80 篇文章 0 订阅
17 篇文章 0 订阅

先是按递增序分串:

<整 P>
空 序分串2(&a,序列<P>,&s){s=a.子串(P);}
//这是最后一个.<整 P,整 Q,...I,类 S,...T>
空 序分串2(&a,序列<P,Q,I...>b,S&s,T&...t){
    s=a.子串(P,Q-P);
    序分串2(a,序列<Q,I...>(),t...);
}//这是递归.<...I,串类...T>
空 序分串(&a,序列<I...>b,T&...t){
    静 常式 整 M=型长...(I),N=型长...(T);
    断定(M+1==N,"要求无0及大小");
    静 常式 动 e=序列<0,I...>();
    序分串2(a,e,t...);
}//你要提供序列<I...>.多加个(序列)不麻烦
//这是按序,按个数.

空 主(){
    串 a{"344666455533444"},b,c,d,e;
    序分串(a,序列<3,6,11>(),b,c,d,e);
    打印(b,c,d,e);
}

类似的,按大小挨个分串:

#include <常用><整 P>
空 位分串2(&a,序列<P>,&s){s=a.子串(P);}
//这是最后一个.<整 P,整 Q,...I,类 S,...T>
空 位分串2(&a,序列<P,Q,I...>b,S&s,T&...t){
    s=a.子串(P,Q);//P为和,Q为个数
    位分串2(a,序列<Q+P,I...>(),t...);
}//这是递归.<...I,串类...T>
空 位分串(&a,序列<I...>b,T&...t){
    静 常式 整 M=型长...(I),N=型长...(T);
    断定(M+1==N,"要求无0及大小");
    静 常式 动 e=序列<0,I...>();
    位分串2(a,e,t...);
}//你要提供序列<I...>.多加个(序列)不麻烦
//这是按序,按个数.

空 主(){
    串 a{"344666455533444"},b,c,d,e;
    位分串(a,序列<3,2,5>(),b,c,d,e);
    打印(b,c,d,e);
}
//0,3,2,5=>0,3,5,10为开头,自家为3,2,5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值