4_10.txt

来自「数据结构--C语言 数据结构源代码大全 用C语言编写」· 文本 代码 · 共 27 行

TXT
27
字号
int StrIndex(SString s,int pos, SString t) 
/*求从主串s的下标pos起,串t第一次出现的位置,成功返回位置序号,不成功返回-1*/
{ 
	int i, j, start;
	if (t.len==0)  
		return(0);   /* 模式串为空串时,是任意串的匹配串 */
	start=pos; 
	i=start; 
	j=0;  /* 主串从pos开始,模式串从头(0)开始 */
	while (i<s.len && j<t.len)
		if (s.ch[i]==t.ch[j]) 
		{
			i++;
			j++;
		}   /* 当前对应字符相等时推进 */
		else 
		{ 
			start++;        /* 当前对应字符不等时回溯 */
			i=start; 
			j=0;   /* 主串从start+1开始,模式串从头(0)开始*/
		} 
		if (j>=t.len) 
			return(start);    /* 匹配成功时,返回匹配起始位置 */
		else 
			return(-1);    /* 匹配不成功时,返回-1 */
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?