| 查看: 952 | 回复: 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数组的 看不懂啊。。。。。。。请指点 |
» 猜你喜欢
祈祷青基必中
已经有11人回复
生命口会评
已经有7人回复
今年E04面上
已经有23人回复
27届辽宁大学应届毕业生申博
已经有3人回复
关于如何从代码看上不上会
已经有23人回复
大龄残疾硕士的一点执念
已经有25人回复
chemdraw
已经有6人回复
b口会评
已经有6人回复
信息学部会评时间
已经有3人回复
在职考研
已经有7人回复
» 抢金币啦!回帖就可以得到:
实验室技术孵化和中试技术转让
+1/1969
]青岛市人才引进直事业编,93年,985硕,180 70,爱好弹吉他唱歌
+1/140
热分析测试
+1/84
化学所分子识别实验室公开招聘项目聘用人员
+1/80
香港理工大学 - 管理/交通/优化/运筹/工业工程/物流方向 - 博士生PhD招聘
+3/71
澳门大学周胤宁课题组招收2027年8月入学博士生
+1/41
Monash University, 低碳冶金建模方向博士生招生(3-6名),位置开放至2028年12月31号 [
+1/32
中国科学院赣江创新研究院李庭刚研究员团队招收与江西理工大学联合培养博士生
+1/29
回首往事
+1/22
香港科技大学(广州)收水文学方向科研助理/全奖博士
+1/6
南方科技大学医学院-神经胶质细胞课题组招收联培(客座)博士生
+1/6
2氯5甲基吡啶和2氯6三氯甲基吡啶大生产工艺需求
+1/5
2026 全免 APC!0 元发表,Scopus 收录,Biofunctional Materials(BM)投稿正当时!
+1/5
清华大学深圳国际研究生院宋桥课题组招收2027年博士研究生
+1/4
浙江大学-化工学院刘平伟课题组-二维材料/功能聚合物开发-博后招聘
+1/3
圣路易斯华盛顿大学管建均教授课题组招聘博士后(2名)
+1/1
清华大学韩军功教授课题组博士后招聘启事
+1/1
力学研究所某专项团队支撑岗位和特别研究助理岗位招聘启事(长期有效)
+1/1
诚聘智慧农业方向博士教师
+1/1
武汉理工大学刘鹏飞院士团队招聘科研助理
+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
回复











;
回复此楼