栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c++按序或位分串2

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++按序或位分串2

构 位序串{
    元<整 I>静 空 后面(串&a,串&s){s=a.子串(I);}
    元<极 位=0,整 P,整 Q>静 空 前面(串&a,串&s){
        如 常式(位){s=a.子串(P,Q);}
        异{s=a.子串(P,Q-P);}
    }
};//通过构中的模板函数来实现动作.

元<极 位=0,类 M,整 P,类 F,类 S>
空 前动作(F&a,序列

b,S&s){M::后面

(a,s);} 元<极 位,整 P,整 Q>常式 整 首序(){ 如 常式(位)中(P+Q);异 中 Q; }//按位,首序为P+Q,按序,直接为Q. 元<极 位,类 M,整 P,整 Q,整...I,类 F,类 S,类...T> 空 前动作(F&a,序列b,S&s,T&...t){ M::前面<位,P,Q>(a,s); 静 常式 整 W=首序<位,P,Q>();//首位. 前动作<位,M>(a,序列(),t...); }//这是递归. 元<极 位=1,整...I,串类...T> 空 位序分(串&a,序列,T&...t){ 静 常式 整 M=型长...(I),N=型长...(T); 断定(M+1==N,"要求无0及大小"); 静 常式 动 e=序列<0,I...>(); 前动作<位,位序串>(a,e,t...); }//分的是串. 空 主(){ 串 a{"344666455533444"},b,c,d,e; //位序分(a,序列<3,2,4>(),b,c,d,e); 位序分<1>(a,序列<3,2,4>(),b,c,d,e); 打印(b,c,d,e); 位序分<0>(a,序列<3,4,11>(),b,c,d,e); 打印(b,c,d,e); }

这里的经验有:可以通过构来转移模板参数的推导.把函数放在构中.这样,直接在模板函数中写M就可以了.
这里前动作中前面和后面代码不一样.加上递归,递归时最后归不回来,要单独写最后代码.
还有,按序与按位的序列变化是不一样的.
前面代码

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/997784.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号