您好,欢迎来到华佗健康网。
搜索
您的当前位置:首页数据结构字符串

数据结构字符串

来源:华佗健康网


习题

一、单项选择题

1. 空串与空格字符组成的串的区别在于( B )。

A.没有区别 B.两串的长度不相等

C.两串的长度相等 D.两串包含的字符不相同

2. 一个子串在包含它的主串中的位置是指( D )。

A.子串的最后那个字符在主串中的位置

B.子串的最后那个字符在主串中首次出现的位置

C.子串的第一个字符在主串中的位置

D.子串的第一个字符在主串中首次出现的位置

3. 下面的说法中,只有( C )是正确的。

A.字符串的长度是指串中包含的字母的个数

B.字符串的长度是指串中包含的不同字符的个数

C.若T包含在S中,则T一定是S的一个子串

D.一个字符串不能说是其自身的一个子串

4. 两个字符串相等的条件是( D )。

A.两串的长度相等

B.两串包含的字符相同

C.两串的长度相等,并且两串包含的字符相同

D.两串的长度相等,并且对应位置上的字符相同

5. 若SUBSTR(S,i,k)表示求S中从第i个字符开始的连续k个字符组成的子串的操作,则对于S=“Beijing&Nanjing”,SUBSTR(S,4,5)=( B )。

A. “ijing” B. “jing&”

C. “ingNa” D. “ing&N”

6. 若INDEX(S,T)表示求T在S中的位置的操作,则对于S=“Beijing&Nanjing”,T=“jing”,INDEX(S,T)=(C )。

A.2 B.3 C.4 D.5

7. 若REPLACE(S,S1,S2)表示用字符串S2替换字符串S中的子串S1的操作,则对于S=“Beijing&Nanjing”,S1=“Beijing”,S2=“Shanghai”,REPLACE(S,S1,S2)=( D )。

A. “Nanjing&Shanghai” B. “Nanjing&Nanjing”

C. “ShanghaiNanjing” D. “Shanghai&Nanjing”

8. 在长度为n的字符串S的第i个位置插入另外一个字符串,i的合法值应该是(A.i>0 B. i≤n

C.1≤i≤n D.1≤i≤n+1

9. 字符串采用结点大小为1的链表作为其存储结构,是指( D )。

A.链表的长度为1

B.链表中只存放1个字符

C.链表的每个链结点的数据域中不仅只存放了一个字符

D.链表的每个链结点的数据域中只存放了一个字符

二、算法设计题

C )。

1. 设有一个长度为s的字符串,其字符顺序存放在一个一维数组的第1至第s个单元中(每个单元存放一个字符)。现要求从此串的第m个字符以后删除长度为t的子串,mint delete(r,s,t,m)

char r[ ];

int s,t,m;

{ int i,j;

for(i=1;i<=m;i++)

r[s+i]=r[i];

for(j=m+t-i;j<=s;j++)

r[s-t+j]=r[j];

return (1);

}

2. 设s和t是表示成单链表的两个串,试编写一个找出s中第1个不在t中出现的字符(假定每个结点只存放1个字符)的算法。

LinkString find(s,t)

LinkString *s, *t;

{ LinkString *ps, *pt;

ps=s;

while(ps!=NULL)

{ pt=t;

while((pt!=NULL)&&(ps->data!=pt->data))

pt=pt->next;

if(pt= =NULL)

ps=NULL;

else

{ ps=ps->next;

s=ps;

}

}

return s;

} //find

3.设要加密的信息为一个串,组成串的字符均取自ASCII中的小写英文字母,假设串采用定长顺序存储,串的长度存放在数组的0号单元,串值从1号单元开始存放,写出恺撒密码的加密解密算法。(已知a的ASCII码值是97)

Void KaiSa(char S[],char T[],int k)

{

T[0]=S[0];

for (i=1;i<=S[0];i++)

T[i]=(S[i]-97+k) % 26;

}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务