主观题

设有两个串S和T,其中T是S的子串,求T在S中首次出现的位置的算法称为

查看答案
该试题由用户414****19提供 查看答案人数:15637 如遇到问题请 联系客服
正确答案
该试题由用户414****19提供 查看答案人数:15638 如遇到问题请联系客服

相关试题

换一换
主观题
设有两个串S和T,其中T是S的子串,求T在S中首次出现的位置的算法称为
答案
单选题
设有两个串T和P,求P在T中首次出现的位置的串运算称作()。
A.联接 B.求子串 C.字符定位 D.子串定位
答案
单选题
设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为()
A.求子串 B.联接 C.匹配 D.求串长
答案
单选题
设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为()。
A.求子串 B.联接 C.模式匹配 D.求串长
答案
单选题
设有两个串S1和S2,求S2在S1中首次出现的位置的运算称作()。
A.求子串 B.判断是否相等 C.模式匹配 D.连接
答案
单选题
设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为()There are two strings p q, q is p’s substring. The algorithm to search the first time q appeared in p is called()(There is only one correct answer)
A.求子串 Seeking substring B.联接 Concatenation C.匹配 Matching D.求串长 Seeking length
答案
单选题
已知字符串s="(X+Y)+Z",其中,单引号不是字符串的内容,经过以下运算后,t3的值是( )。t1=SubString(s,3,1)t2=Concat("XY",t 1)t3=Replace(s,SubString(s,1,5),t2)注:SubString(s,k,n)表示从串s的第k个字符开始取出长度为n的子串,Concat(s,t)表示将串t连接在s之后,Replace(s,t,r)表示用r替换串s中的子串t。
A."XY+Z*" B."(X+Z)*Y" C."XYZ+*" D."XY+*Z"
答案
单选题
己知字符串 s="(X+Y)*Z" ,其中,单引号不是字符串的内容, 经过以下运算后,t3 的值是( )。t1=SubString(s ,3,1)t2=Concat("XY" ,t1)t3=Replace(s,SubString(s,1,5),t2)注: SubString(s,k,n)表示从串 s的第 k 个字符开始取出长度为 n 的子串, Concat(s,t)表示将串 t 连接在 s 之后, Replace(s,t,r)表示用 r 替换串 s 中的子串 t。
A.;XY Z*’ B."(X Z)*Y" C."XYZ *’ D."XY+*Z’
答案
主观题
若串S=“software”,则其子串数目是____,其中空串和S串本身这两个字符串也算作S的字串
答案
单选题
设有两个串p 和q,求p 在q中首次出现的位置的运算称作()
A.连接 B.求子串 C.模式匹配 D.求串长
答案
热门试题
设有两个串p和q,求q在p中首次出现的位置的运算称作() 设有两个串P和q,求q在P中首次出现的位置的运算称作______。 设有两个串p和q,求q在p中首次出现的位置的运算称为() 设有两个串p和q,求q在p中首次出现的位置的运算称作: 设有两个串p和q,求q在p首次出现位置的运算称作()。 阅读以下说明和C函数,将解答填入答题纸的对应栏内。
【说明】
函数del_substr(S,T)的功能是从头至尾扫描字符串S,删除其中与字符串T相同的所有子串,其处理过程为:首先从串S的第一个字符开始查找子串T,若找到,则将后面的字符向前移动将子串T覆盖掉,然后继续查找子串T,否则从串S的第二个字符开始查找,依此类推,重复该过程,直到串S的结尾为止。该函数中字符串的存储类型SString定义如下:
typedef struct{
char *ch; /*串空间的首地址*/
int length; /*串长*/
}SString;

【C函数】
void del substr(SString*S, SString T)

int i, j;
if(S->length<1||T.length<1||S->length<T.length)
return;
i=0; /* i为串S中字符的下标 */
for(;;){
j=0; /* j为串T中字符的下标 */
while(i<S->length&&j<T.length){ /* 在串S中查找与T相同的子串 */
if(S->ch[i]==T.ch[j]){
i++; j++;
}
else{
i= (1) ; j=0; /* i值回退,为继续查找T做准备 */


if( (2) ){ /* 在S中找到与T相同的子串 */
i= (3) ; /* 计算S中子串T的起始下标 */
for(k=i+T.length; k<S->length; k++) /* 通过覆盖子串T进行删除 */
S->ch[ (4) ]=S->ch[k];
S->length= (5) ; /* 更新S的长度*/

else break; /* 串S中不存在子串T */

两个字符串S1和S2的长度分别为m和n,求这两个字符串最大共同子串的时间复杂度为T(m,n),这最优的时间复杂度为() 【试题三】阅读下列说明和 C 函数,填补 C 函数中的空缺,将解答填入答案纸的对应栏目内。【说明】字符串是程序中常见的一种处理对象,在字符串中进行子串的定位、插入和删除是常见的运算。设存储字符串时不设置结束标志,而是另行说明串的长度,因此串类型定义如下:Typedef struct ﹛char*str //字符串存储空间的起始地址int length //字符串长int capacity //存储空间的容量﹜SString;【函数 1 说明】函数 indexStr(S,T,pos)的功能是:在 S 所表示的字符串中,从下标 pos 开始查找 T 所表示字符串首次出现的位置。方法是:第一趟从 S 中下标为 pos、T 中下标伟 0 的字符开始,从左往右逐个对于来比较 S 和 T 的字符,直到遇到不同的字符或者到达 T 的末尾。若到达 T 的末尾,则本趟匹配的起始下标 pos 为 T 出现的位置,结束查找;若遇到了不同的字符,则本趟匹配失效。下一趟从 S 中下标 pos+1 处的字符开始,重复以上过程。若在 S 中找到 T,则返回其首次出现的位置,否则返回-1。例如,若 S 中的字符串伟″students ents″,T 中的字符串伟″ent″,pos=0,则 T 在 S 中首次出现的位置为 4。【C 函数 1】int indexStr(SString S ,SString T,int pos)﹛int i,j:if(S.length<1||S.length<pos+T.length-1)return-1;for(i=pos,j=0;i<S.length &&j<T.length;)﹛if (S.str[i]==T.str[j])﹛i++;j++;﹜else﹛i=();j=0﹜﹜if ()return i -T.length;return-1;﹜【函数 2 说明】函数 eraseS 位(S,T}的功能是删除字符串 S 中所有与 T 相同的子串,其处理过程为: 首先从字符串 S 的第一个字符(下标为 0)开始查找子串 T,若找到〈得到子串 在 S 中的起始位置),则将串 S中子串 T 之后的所有字符向前移动,将子串 T 覆盖,从而将 其删除,然后重新开始查找下一个子串 T,若找到就用后面的宇符序列进行覆盖,重复上述过程,直到将 S 中所有的子串 T 删除。例如,若字符串 S 为 “12ab345abab678”、T 为“ab”。第一次找到 "ab" 时(位置为(2),将 "345abab678 "前移,S 中的串改为"12345abab678" ,第二次找到"ab"时(位置为 5);将 ab678 前移,S 中的串改为 "12345ab678",第三次找到"ab"时(位置 为 5);将“678‘前移 ,S 中的串改为 "12345678 "。【C 函数 2】void eraseStr(SString*S,SStringT)﹛int i;int pos;if (S->leght<1||T.length<1||S->length<T.length)return;pos=0for(;;)﹛//调用 indexStr 在 S 所表示串的 pos 开始查找 T 的位置pos=indexStr();if(pos==-1) //S 所表示串中不存在子串 Treturn;for(i=pos+T.length;i<S->length;i++) //通过覆盖来删除自串 TS->str[()]=S->str[i];S->length=(); //更新 S所表示串的长度﹜﹜ 已知函数Sub(s,i,j)的功能是返回串s中从第i个字符起长度为j的子串,函数Scopy(s,t)的功能为复制串t到s。若字符串S=“SCIENCESTUDY”,则调用函数Scopy(P,Sub(S,1,7))后得到()。 设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为( ) 【北京邮电大学 2000 二、4(20/8分)】【西安电子科技大学 1996 一、1 】 已知字符串s='(X+Y)+Z',其中,单引号不是字符串的内容,经过以下运算后,t3的值是()。t1=SubString(s,3,1)t2=Concat('XY',t 1)t3=Replace(s,SubString(s,1,5),t2)注:SubString(s,k,n)表示从串s的第k个字符开始取出长度为n的子串,Con 串 s 是 s 本身的真子串。( ) 以下函数sstrcat()的功能是实现字符串的连接,即将t所指字符串复制到s所指字符串的尾部。例如:s所指字符串为abcd,t所指字符串为efgh,函数调用后s所指字符串为abcdefgh。请填空。 include <string.h> void sstrcat(char *s,char *t) int n; n=strlen(s); while(*(s+n)=*t)______) 任意串s都是s本身的子串 设有字符串S="software",其长度为3的子串数目为( )。 除 s 本身之外,s 的其它子串称为 s 的真子串。( ) 设关系R和S的元数分别是r和s,则集合{t|t=t,ts>∧tr∈R∧ts∈S}标记的是() S和T是两个集合,对S&T的描述正确的是 设有字符串 S 和 P,串的模式匹配是指( )。 若串S="software",其子串(含串)的个数是
购买搜题卡 会员须知 | 联系客服
会员须知 | 联系客服
关注公众号,回复验证码
享30次免费查看答案
微信扫码关注 立即领取
恭喜获得奖励,快去免费查看答案吧~
去查看答案
全站题库适用,可用于E考试网网站及系列App

    只用于搜题看答案,不支持试卷、题库练习 ,下载APP还可体验拍照搜题和语音搜索

    支付方式

     

     

     
    首次登录享
    免费查看答案20
    微信扫码登录 账号登录 短信登录
    使用微信扫一扫登录
    登录成功
    首次登录已为您完成账号注册,
    可在【个人中心】修改密码或在登录时选择忘记密码
    账号登录默认密码:手机号后六位