| 查看: 852 | 回复: 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数组的 看不懂啊。。。。。。。请指点 |
» 猜你喜欢
所感
已经有3人回复
要不要辞职读博?
已经有7人回复
不自信的我
已经有11人回复
北核录用
已经有3人回复
实验室接单子
已经有3人回复
磺酰氟产物,毕不了业了!
已经有8人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有10人回复
26申博(荧光探针方向,有机合成)
已经有4人回复
论文终于录用啦!满足毕业条件了
已经有26人回复
2026年机械制造与材料应用国际会议 (ICMMMA 2026)
已经有4人回复
» 抢金币啦!回帖就可以得到:
福建师范大学柔性电子学院招收2026年博士(储能材料与柔性电子器件)
+1/81
上海大学昝鹏教授、军事医学研究院伯晓晨研究员/倪铭副研究员 课题组招聘博士生
+1/79
湖南科技大学资安学院管青军教授2026年招收审核制博士生
+1/74
内蒙古大学能源材料化学研究院招聘2026年博士生
+1/73
坐标济南,山东农科院招 有机合成 or 药物化学 联培硕士研究生
+1/37
考核制博士自荐
+1/37
中科院理化技术研究所张飞龙研究员/王树涛研究员团队招生(博士/硕士)
+1/31
厦门大学航空航天学院智能制造课题组招2026年申请审核制博士生1-2名
+1/30
限广州,征女友
+2/26
SCI,计算机相关可以写
+1/23
2026博士招生-上海大学先进耐火材料全国重点实验室-招收冶金工程博士研究生-1-2名
+1/23
SCI,计算机相关可以写
+1/17
SCI,计算机相关可以写
+1/17
中国科学院大学-杨晗课题组-诚聘-博士后、副研究员
+1/8
中科院(广州)研究团队招聘无机非金属材料方向特别研究助理或博后
+1/8
上海交通大学环境学院(环境化学与环境毒理学;大数据与人工智能)博士后招聘~
+1/5
中国科学院大学-杨晗课题组-诚聘-博士后、副研究员
+1/4
海南大学化学院—功能分子器件团队博士后招聘
+1/1
上海理工大学-赵斌教授课题组招收申请考核制博士
+1/1
长春工业大学机电工程学院韩玲教授招收审核制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
回复












;
回复此楼