c++按序或按位分串
先是按递增序分串:
元<整 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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现