| 查看: 890 | 回复: 6 | |||
[交流]
顺序串kmp无回溯算法 大神进来指导一下
|
|||
|
void SqString::get_next(int* next, int display) { int j=-1,i=0; int first_i; char no[5]=" [ i]"; next[0[=-1; while(i if(j==-1||ch[j]=ch) { ++j; ++i; next=j; } else j=next[j]; } if(display==1) { cout<<" 当前模式串的next[]数组为:"< while(first_i i=first_i; cout<<" "; do { if(i<10) no[2]=i+"0"; (这是什么意思) else { no[1]=i/10+"0"; no[2]=i%10="0"; } cout.width(5); cout.fill("" ;cout.setf(ios::right,ios::adjustfileld); cout< } while(i%10&&i cout<<" "; i=first_i; do { cout.width(5); cout.fill("" ;cout.setf(ios::right,ios::adjustfileld); cout< i++; } while(i%10&&i cout<<" "; i=first_i; do { cout.width(5); cout.fill("" ;cout.setf(ios::right,ios::adjustfileld); cout< i++; } while(i%10&&i cout< } } 这是主要的求next数组的 看不懂啊。。。。。。。请指点 |
» 猜你喜欢
求环氧树脂研发1名
已经有10人回复
280求调剂
已经有5人回复
什么是人一生最重要的?
已经有10人回复
面上可以超过30页吧?
已经有13人回复
网上报道青年教师午睡中猝死、熬夜猝死的越来越多,主要哪些原因引起的?
已经有10人回复
为什么中国大学工科教授们水了那么多所谓的顶会顶刊,但还是做不出宇树机器人?
已经有13人回复
版面费该交吗
已经有17人回复
【博士招生】太原理工大学2026化工博士
已经有8人回复
» 抢金币啦!回帖就可以得到:
长春工业大学化学工程学院招收26年硕士调剂生
+1/80
【最后机会】深圳大学2026级土木工程博士急招
+5/80
福建师范大学环境与资源学院刘斯宝课题组招聘青年教师(带编)
+1/79
招收桥梁工程方向博士研究生!
+3/71
西安交通大学杜宝吉课题组招收2026统考硕士生
+1/34
澳门理工大学人工智能智慧康养26 年9月入学 博士招生有奖学金
+1/32
青岛科技大学2026年高分子材料方向科研助理招聘
+1/32
深圳90理工男找FOR女
+1/18
2026申博自荐
+1/18
电子科技大学材料学院SFT创新中心招收2026年博士生及科研助理
+1/17
【实战型】【生物医药】2026青岛大学招博士生
+1/17
南京林业大学-国家级青年人才团队 招2026级申请考核制博士
+1/13
新西兰 奥克兰理工大学(AUT)招博士,海藻资源化方向,详情请见如下内容,谢谢!
+1/8
青岛大学功能纺织品与先进材料研究院招收2026级申请考核制博士
+1/8
青岛大学纺织服装学院张宪胜教授招收博士研究生
+1/6
深圳理工大学刘鑫课题组高薪招聘博士后
+1/6
【科研助理招聘-北京理工大学-集成电路与电子学院-国家杰青团队】
+1/4
中科院合肥物质研究院招聘水系锌电博士后(长期有效)诚聘海内外优秀博士后
+1/2
斯德哥尔摩博士后基金申请 - 基于视频的三维人体运动学提取 / 姿态估计
+1/2
天津理工大学功能晶体研究院(晶体材料全国重点实验室)招收2026年博士研究生
+1/1
2楼2012-11-01 22:40:26
3楼2012-11-02 11:38:13
4楼2012-11-02 11:39:34
★ ★ ★ ★ ★ ★
小木虫: 金币+0.5, 给个红包,谢谢回帖
断点~+++: 金币+5 2012-11-03 15:08:23
小木虫: 金币+0.5, 给个红包,谢谢回帖
断点~+++: 金币+5 2012-11-03 15:08:23
|
定义no是个字符数组 而char又可以跟short,int等类型进行转换,具体分为signed和unsigned: 然后看这句: 我比较怀疑是不是抄错了,应该是单引号'0'而不是双引号?单引号'0'表示0这个字符,然后i是整型,2个相加等于下面的过程 '0'先被转为整型,与i相加,然后再转为char类型存入no数组的第三个位置 因为既然'0'表示0的int值,那么i+'0'当i在0-9之间取值时,i+'0'的结果就是'0'到'9'这10个字符 那么下面的代码就是: 如果i小于10,将i对应的个位数转为对应的字符存入no数组第三个位置 否则,将两位数i转为对应的字符,分别存入no数组的第二和第三个位置 不过,数字转为对应字符串(例如20转为"20" 一般建议2种做法,一个是itoa()函数,另一个标准做法是sprintf()函数 |
5楼2012-11-02 17:09:37
7楼2012-11-03 15:08:07
简单回复
su-b086楼
2012-11-02 21:17
回复













;
回复此楼