合集下载

第4章 字符串v

第4章 字符串v

空串: 空串: 长度为0的字符串 的字符串; 长度为 的字符串; 空格串: 空格串: 由空格字符组成的字符串,长度>1 由空格字符组成的字符串,长度 主串: 主串: 包含该子串的字符串; 包含该子串的字符串; 字符的位置: 字符的位置: 从1开始 开始 子串的位置: 子串的位置: 该子串第一个字符的位置
定长顺序存储标识串的实际长度时可有三种方式: 定长顺序存储标识串的实际长度时可有三种方式:
(1)用一个指针指向最后一个字符,串描述类似顺序表 用一个指针指向最后一个字符, 用一个指针指向最后一个字符 #define MAXSIZE 256 typedef struct { char data[MAXSIZE]; int curlen; }SeqString; 定义一个串变量:SeqString s; 定义一个串变量
1.串的 定长 顺序存储 串的(定长 串的 定长)顺序存储
(定长 顺序存储结构类似于C语言的字符数组,以一 定长)顺序存储结构类似于 语言的字符数组, 定长 顺序存储结构类似于 语言的字符数组 组地址连续的存储单元存放串值中的字符序列, 组地址连续的存储单元存放串值中的字符序列,定长即是预 先为每一个串变量分配一个固定长度的存储区,例如: 先为每一个串变量分配一个固定长度的存储区,例如: #define MAXSIZE 256 char s[MAXSIZE] 那么,串的最大长度就不能超过 那么,串的最大长度就不能超过256。 。
第4章 串 章
4.1 字符串的基本概念
4. 2 串的存储结构
4.3 模式匹配
(1) 串的基本概念
串(string)是由零个或多个任意字符组成的字符序列, )是由零个或多个任意字符组成的字符序列, 又称为字符串( 又称为字符串(character string),一般记为: ) 一般记为: s=〝a1 a2 a3 … an〞

串的知识点总结

串的知识点总结

串的知识点总结1. 串的基本概念串是由零个或多个字符组成的有限序列,通常用来表示文本数据。

在编程语言中,串通常被定义为一个字符数组或字符串变量。

例如,在C语言中,字符串通常被定义为char类型的数组,而在Java语言中,字符串则是一个类对象。

2. 串的存储结构串的存储结构有两种常见形式:一是定长顺序存储结构,二是链式存储结构。

定长顺序存储结构是将串的字符按照顺序存储在一块连续的存储空间中,这种方式可以通过下标来访问任意位置的字符,但是需要预先分配足够的存储空间。

链式存储结构则是使用链表来存储串的字符,这种方式可以动态分配内存空间,但是访问任意位置的字符需要从链表头开始遍历,效率较低。

3. 串的基本操作串的基本操作包括串的创建、复制、连接、比较、插入和删除等。

创建串是指将一组字符转换成串的操作;复制是指将一个串的内容复制到另一个串中;连接是指将两个串连接在一起形成一个新的串;比较是指比较两个串的大小关系;插入是指在一个串中的指定位置插入一个子串;删除是指删除一个串中的指定子串。

这些操作都是串的基本操作,它们在实际应用中有着重要的作用。

4. 串的模式匹配串的模式匹配是指在一个主串中查找与给定模式串相匹配的子串的过程。

常见的模式匹配算法有暴力匹配算法、KMP算法和Boyer-Moore算法等。

暴力匹配算法是最简单的模式匹配算法,它的时间复杂度为O(m*n),其中m为主串长度,n为模式串长度;KMP算法是一种高效的模式匹配算法,它的时间复杂度为O(m+n),其中m为主串长度,n为模式串长度;Boyer-Moore算法是一种更加高效的模式匹配算法,它的时间复杂度为O(m*n),其中m为主串长度,n为模式串长度。

5. 串的应用串在计算机科学中有着广泛的应用,它在各种应用中都有着重要的作用。

例如,在文本编辑器中,串被用来表示文本文件的内容;在数据库系统中,串被用来表示数据的各种属性;在网络通信中,串被用来表示网页的URL地址等。

【组词大全】串组词_串的拼音含义_组词造句解释_串字的组词

【组词大全】串组词_串的拼音含义_组词造句解释_串字的组词

【组词大全】串组词_串的拼音含义_组词造句解释_串字的组词一、串组词【精选组词列表】:连串、粮串、瘰串、客串、截串、尖串、贿串、会串、亲串、戚串、钱串、商串、串昵、串习、串骗、勾串、鬼串、钩串、贯串、惯串、反串、串演、串茶、串夷、串换、串哄、串店、串客、串话、串鼓、串珠、串游、串通、串彻、串连、串联、串捏、串烟、串狎、串同、串户、串车、串供、串贯、串气、串月、串衍、串瓦、串幛、串讲、串饮、串杖、串女、串亲、串座、串掇、串铃、串作、串合、串用、串花、串戏、串票、串门、串道、串案、串仗、串炮、串访、串秧、串子、成串、宝串、手串、游串、珠串、足串、踢串、透串、外串、下串、闲串、香串、一长串、一大串、字符串、一连串、一串红、一串铃、树串儿、一串珠、羊肉串、串鼻子、串脸胡、串花街、虫串串、串花家、串门子、串并联、串亲戚、钱串子、清客串、卖串儿、黄串饼、鬼木串、滑串流口、呆串了皮、串通一气、串亲访友、串街走巷、三联串票、三连串票、一溜串儿、扎根串连、走街串巷、一串骊珠、蚁串九曲珠二、串的拼音、串的组词及词对应的注释和串的繁体字和串的QQ繁体字【串的拼音】:chuàn【串的组词及词对应的注释】:1、贯串造句:并正在其上粉饰以乡土质料建造的现代景瞧修筑,以外形和乡土质料组合解决高起的若干地下室采光天井的看觉标题,贯串、持续地域景瞧。

解释:从头到尾穿过一个或一系列事物:这部小说的各篇各章都~着一个基本思想。

2、串珠造句:HRCT则可进一步显示肺野磨砂玻璃样改变,小叶间隔、叶间胸膜及支气管血管束钙化密度与串珠状增厚,小叶中心分布的微细结节与胸膜下蜂窝。

解释:成串的珠子。

3、串连造句:在这种情况下,可视化的场景情节串连板仍旧可以证明是非常有效的,如果将它们用于演示所确定的场景,这对客户来说听起来是熟悉的。

解释:互相联系,沟通。

4、串联造句:克里斯汀?韦格(出身于曾经培养了蒂娜?菲(TinaFey)和艾米?波勒(AmyPoehler)的喜剧短剧《周末夜现场》)在《伴娘》中如此巧妙地把这些糗事串联起来。

串、并联电路的特点及规律

串、并联电路的特点及规律

串、并联电路的特点及规律知识要点一、串联电路的特点:1、电流:串联电路中各处电流都相等。

I=I1=I2=I3=……In2、电压:串联电路中总电压等于各部分电路电压之和.U=U1+U2+U3+……Un3、电阻:串联电路中总电阻等于各部分电路电阻之和。

R=R1+R2+R3+……Rn理解:把n段导体串联起来,总电阻比任何一段导体的电阻都大,这相当于增加了导体的长度。

n个相同的电阻R0串联,则总电阻R=nR0 。

4、分压定律:串联电路中各部分电路两端电压与其电阻成正比.U1/U2=R1/R2 U1:U2:U3:…= R1:R2:R3:…二、并联电路的特点:1、电流:并联电路中总电流等于各支路中电流之和。

I=I1+I2+I3+……In2、电压:文字:并联电路中各支路两端的电压都相等。

U=U1=U2=U3=……Un3、电阻:并联电路总电阻的倒数等于各支路电阻倒数之和。

1/R=1/R1+1/R2+1/R3+……1/Rn理解:把n段导体并联起来,总电阻比任何一段导体的电阻都小,这相当于导体的横截面积增大。

特例: n个相同的电阻R0并联,则总电阻R=R0/n.求两个并联电阻R1、R2的总电阻R=4、分流定律:并联电路中,流过各支路的电流与其电阻成反比。

I1/I2= R2/R1(口诀:串联分压,并联分流)总结:串联:电流I=I1=I2电压U=U1+U2电阻R=R1+R2电压和电阻成正比21UU=21RRUU1=RR1电流I=I1+I2电压U=U1=U2电阻R1=11R+21RR1R2R1+R2并联:典型例题1.两个小电泡L 1和L 2,L 1的阻值为R ,L 2的阻值为2R ,它们串联起来接入电路中.如果L 1两端的电压为4V ,那么L 2两端的电压为 ( ) A .8V B .6V C .4VD .2V2.两个小电泡L 1和L 2,L 1的阻值为R ,L 2的阻值为2R ,它们串联起来接入电路中.如果L 1两端的电压为4V ,那么L 2两端的电压为 ( ) A .8V B .6V C .4V D .2V3.有两个电阻阻值分别为6Ω和9Ω,串联后接到某电源上,那么两电阻中的电流之比为______,两电阻两端的电压之比为______;如果6Ω的电阻两端的电压是4V,那么9Ω的电阻两端的电压是____________电源的总电压是____________,电路的总电阻为______Ω。

数据结构第4章数组和串

数据结构第4章数组和串
1
● 教学目的:理解抽象数据类型数组的概念, 掌握数组的不同存储结构的实现及应用,了 解广义表的相关概念,掌握串的逻辑结构、 存储结构及其基本运算。
● 教学重点:数作在不同 存储结构上的实现。 ● 教学难点:带状矩阵的压缩存储;稀疏矩 阵的三元组表实现及其转置算法,堆结构的 串操作实现;串的模式匹配算法。
矩阵的压缩存储
printf("Array a:\n"); k=0; for(i=0;i<N;i++)//输出矩阵A { for(j=0;j<N;j++) if(i<j)printf("%5d",sa[M-1]); else printf("%5d",sa[i*(i+1)/2+j]); printf("\n"); } printf("Array b:\n"); k=0; for(i=0;i<N;i++)//输出矩阵B { for(j=0;j<N;j++) if(i>j)printf("%5d",sb[M-1]); else printf("%5d",sb[j*(j+1)/2+i]); printf("\n"); }}
矩阵的压缩存储
由此可见,要唯一表示一个稀疏矩阵,在存储三 元组表的同时还需存储该矩阵总的行数、列数及非 零元个数。 练习:写出图4-9(a)所示稀疏矩阵的三元组表。
三元组表(也是线性表)的存储方式主要有两种: 顺序存储和链式存储,从而可引出稀疏矩阵的两种 压缩存储方法:三元组顺序表和十字链表。 3、三元组顺序表
矩阵的压缩存储

数4-串a

数4-串a

A3*4*2 =
a111 a121 a131 a141
a112 a122 a132 a142
a211 a221 a231 a241
a212 a222 a232 a242
a311 a321 a331 a341
a312 a322 a332 a342
第3页
第2页
第1页
5.1.2 数组的类型定义和变量说明: 例1 int a[10]; //10个整数的一维数组 char b[4][5]; //4行5列个字符的二维数组 float c[3][4][2]; //3*4*2个实数的三维数组
即 Am*n=((a11 a12 ...a1n),(a21 a22 ...a2n),...,(am1 am2 ...amn)) 或由n个列向量组成,记作: a11 a21 am1 a12 a22 am2 a1n a2n amn
Amxn=
3.三维数组是一个定长线性表( 1,2,...,p )。 其中: k=( 1,2,...,m )为定长二维数组,1≤k≤p 例 三维数组A[1..3,1..4,1..2], p=3, m=4, n=2
(3)空格串-----仅含空格字符’ ’的串。 例 s1='' s2='' s1=' ' s2=' ' (4)子串---串s中任意个连续的字符组成的子序列称为串s的子串。 主串---包含某个子串的串。 例 st="ABC123A123CD" s1="ABC" s3="123A" s4="ABCA" s2="ABC12" s5="ABCE" s6="321CBA" s1,s2,s3为串s的子串。 2.串变量、字符变量的定义与使用 例1 串变量 char st[]="abc\'*123"; gets(st); scanf("%s",st); strcpy(st,"data"); puts(st); printf("st=%s\n",st); 例2 字符变量 char ch='A'; ch=’B’; ch=getchar(); scanf("%c",&ch); printf("ch=%c\n",ch);

初始条件:串S和T存在。 操作结果:若S>T,则返回值>0;若S = T,则返回值=0;若S<T,则返回值<0.
ClearString (&S)
初始条件:串S存在。 操作结果:将S清为空串。
Concat (&T , S1, S2)
初始条件:串S1和S2存在。 操作结果:用T返回由S1和S2联接而成的新串。
Status ClearString(HString &S) { //将S清为空串. if(S.ch) { free(S.ch); S.ch=NULL;} S.length=0; return OK; }// ClearString
Status Concat(HString &T, HString S1, HString S2)
int Strlength(HString S) { return S.length; }
int StrCompare(HString S, HString T) { //若S>T,则返回值>0;若S = T,则返回值=0;若S<T,则返回值<0 for( i=0; i< S.length && i< T.length; ++i ) if(S.ch[i]!= T.ch[i]) return S.ch[i]-T.ch[i]; return S.length- T.length; }
• 二、串的抽象数据类型的定义
ADT String { 数据对象:D={ai| ai∈CharacterSet; i=1,2,…,n,;n≥0} 数据关系:R1={<ai-1, ai>| ai-1, ai∈D; i= 2,…,n} 基本操作: StrAssign (&T , chars)

• 紧凑格式:每个字节中存放一个字符。 • 非紧凑格式 :每个存储单元中存放一个字符。 • 事例:S=‘Love China’
• 二者比较:紧凑格式空间利用率高,而非紧凑格式对
串中字符的处理效率低。
普通高等教育“十一五”国家级规划教材
• 存储密度:
串值所占存储字节/实际分配的存储字节
• 串的静态存储结构的两个缺点:
连续的存储空间作为串值的可利用空间;建立一个新串 时,系统就从这个可利用空间中划分出一个大小和串长 度相等的空间存储新串的串值;每个串的串值各自存储 在一组地址连续的存储单元中

1. 2. 3. 4. 5.
串的堆结构存储表示
typedef struct { char *ch; /*非空串,则按串长分配存储区,否则ch为NULL*/ int length; /*串长度*/ }HString;
普通高等教育“十一五”国家级规划教材
算法5.1:堆结构的存储方式实现串插入操作
1. Status StrInsert(HString &S,int pos,HString T) 2. //在串s的第pos个字符前插入串T 3. { 4. if(pos<1||pos>S.length+1) 5. return ERROR; /*pos的值不合法*/ 6. if(T.length) /*T非空,则进行下列操作*/ 7. { /*重新分配存储空间,插入T*/ 8. if(!(S.ch=(char *) 9. realloc(S.ch,(S.length+T.length)*sizeof(char)))) 10. exit(OVERFLOW); 11. for(i=s.length-1;i>=pos-1;--i) 12. S.ch[i+T.length]=S.ch[i]; /*插入位置之后所有的 元素后移*/

1 串的基本概念2 串的存储结构3 串的基本运算及其实现4 文本编辑第四章串本章学习导读在计算机的各方面应用中,非数值处理问题的应用越来越多。

如在汇编程序和编译程序中,源程序和目标程序都是作为一种字符串数据进行处理的。

在事务处理系统中,用户的姓名和地址及货物的名称、规格等也是字符串数据。

字符串一般简称为串,可以将它看作是一种特殊的线性表,这种线性表的数据元素的类型总是字符型的,字符串的数据对象约束为字符集。

在一般线性表的基本操作中,大多以“单个元素”作为操作对象,而在串中,则是以“串的整体”或一部分作为操作对象。

因此,一般线性表和串的操作有很大的不同。

本章主要讨论串的基本概念、存储结构和一些基本的串处理操作。

4.1 串的基本概念4.1.1串的定义串(或字符串)(String)是由零个或多个字符组成的有限序列。

一般记作s=〃c1c2c3…cn〃(n≥0)其中:s为串名,用双引号括起来的字符序列是串的值;ci (1≤i≤n)可以是字母、数字或其它字符;双引号为串值的定界符,不是串的一部分;字符串字符的数目n称为串的长度。

零个字符的串称为空串,通常以两个相邻的双引号来表示空串(Null string),如:s=〃〃,它的长度为零;由一个或多个空格字符组成的的串称为空格串,如:s=〃└┘〃;若串中含有空格,在计算串长时,空格应计入串的长度中,如:s=〃I’m a student〃的长度为13。

请读者注意,在C语言中,用单引号引起来的单个字符与单个字符的串是不同的,如s1='a'与s2=〃a〃两者是不同的,s1表示字符,而s2表示字符串。

4.1.2主串和子串一个串的任意个连续的字符组成的子序列称为该串的子串,包含该子串的串称为主串。

称一个字符在串序列中的序号为该字符在串中的位置,子串在主串中的位置是以子串的第一个字符在主串中的位置来表示的。

当一个子串在主串中多次出现时,以该子串第一次在主串中出现的第一个字符位置为该子串在主串中的位置。

串(String)
串(字符串):由零个或多个字符组成的有 限序列,一般记为:s= ‘a1a2…an’ 其中:s是串的名字 a1a2…an是串的值 每个ai(1≤i≤n)可以是字母、数字或其他 字符。 单引号本身不是串的值,它是定界符,用于 标志字符串的起始位置和终止位置。 又一种线性结构, 字符的有限序列,即字符 线性表
ห้องสมุดไป่ตู้
它与顺序存储表示的区别就是它们的存储空间 是在程序执行过程中动态分配的。
堆存储结构也可以看作是一种半动态存储结构。
串操作依然是基于“字符序列的复制”, 例如串插入操作StrInsert的实现算法 (参见P75),与顺序表插入相同。 堆分配存储结构的串既有顺序存储结构 的处理方便的特点,操作中对串长又没 有任何限制,因此在串处理的应用程序 中常被使用。 在高级程序设计语言中经常采用顺序存 储结构与堆分配存储结构。


• 串是一种特殊的线性表,它的结点仅由一个 字符组成。串的应用非常广泛,凡是涉及到 字符处理的领域都要使用串。很多高级语言 都具有较强的串处理功能。 • 本章主要介绍了串的有关概念、存储结构以 及串的基本运算和实现。堆结构存储方式的 串既有顺序存储结构的特点,又有动态存储 的特点,所以使用起来更显灵活,因此在串 处理的应用程序中,经常选用串的这种存储 方式来存储串。 • 重点掌握堆结构存储方式以及串的几种基本 运算。
堆分配存储表示
堆结构存储表示是以一组地址连续的存储单元 存放串值字符序列。其实现方法是:系统将一 个空间足够大、地址连续的存储空间作为串值 的可利用空间,每建立一个新串时,系统就从 这个可利用空间中划分出一个大小和串长度相 等的空间存储新串的串值。每个串的串值各自 存储在一组地址连续的存储单元中。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
inword=0;
return n;
}
(1)
(2)
3.已知串的存储结构为动态存储分配的顺序串。阅读下列算法,并回答问题:
(1)写出执行函数调用strc (s, r)的返回结果,其中s=〃aba〃, r=〃abababa〃;
(2)简述函数strc的功能。
int strc (HString * sub, HString * str)
{
int i=0, j, k, count =0;
while (i < str -> length – sub -> length +1)
{
j=i; k=0;
while (k <sub -> length && str -> ch[j] = =sub -> ch[k] )
{
j++; k++;
}
if (k = = sub -> length)
若调用语句是f31(”abcde”,”abcdf”),则函数的返回值是什么?
若调用语句是f31(”abcde”,”abcde”),则函数的返回值是什么?
(2)简述该函数的功能。
2.32.阅读下列算法,并回答问题:
(1)假设串由合法的英文字母和空格组成,并以’\0’作结束符。设串s=”⊔⊔|⊔am⊔a⊔⊔⊔student”(⊔表示空格符),写出f32(s)的返回值;
A.0 B.2 C.3 D.5
5.如下陈述中正确的是()
A.串是一种特殊的线性表B.串的长度必须大于零
C.串中元素只能是字母D.空串就是空白串
6.执行下列程序段后,串X的值为( )
S=〞abcdefgh〞; T=〞xyzw〞;
substr (X,S,2,strlen(T));
substr (Y,S, stelen(T),2);
char data[NodeSize];
struct node*next;
}LinkStrNode;
如果每个字符占1个字节,指针占2个字节,该链串的存储密度为()
A.1/3B.1/2
C.2/3D.3/4
11.串匹配算法的本质是( )
A.串复制B.串比较
C.子串定位D.子串链接
12.已知串s=″aabacbabcaccab″,串t1=″abc″,串t2=″cba″,函数index(s,t)的返回值为串t在串s中首次出现的位置,则r (s1,s,6,index(s,t1)); substr (s2,s,index(s,t1),1);strcat(s1,s2);
B.substr (s1,s,7,index(s,t1)); substr (s2,s,index(s,t1),1);strcat(s2,s1);
C.substr(s1,s,6,index(s,t2)); substr(s2,s,index(s,t2),3);strcat(s1,s2);
四、算法阅读题(每题5分,共15分)
1.已知字符串处理函数f31程序如下。
int f31(char*strl,char*str2)
{ while(*strl==*str2&&(*strl!=’\0’)){
strl++;
str2++;
}
return(*strl-*str2 ? l∶0);
}
请回答下列问题:
D.substr(s1,s,6,index(s,t2)); substr(s2,s,index(s,t2),3);strcat(s2,s1);
13.若目标串的长度为n,模式串的长度为[n/3],则执行模式匹配算法时,在最坏情况下的时间复杂度是()
A.O(n/3)B.O(n)C.O(n2)D.O(n3)
2.空串的长度是________;空格串的长度是________。
3.设s=″I AM A ATHLETE″,t=″GOOD″,则执行下列串操作序列之后得到的sub1为________。
substr (sub1,s,5,2);substr(sub2,s,6,8); strcpy(t1,t);
strcat(t1,sub2); strcat(sub1,t1);
A. 1/4 B. 1/2
C. 2/3 D. 3/4
19.设有两个串T和P,求P在T中首次出现的位置的串运算称作( )
A.联接B.求子串C.字符定位D.子串定位
20.若串str=”Software”,其子串的数目是()
A.8B.9
C.36D.37
21.字符串通常采用的两种存储方式是( )
A.散列存储和索引存储B.索引存储和链式存储
9.静态存储分配的顺序串在进行插入、置换和________等操作时可能发生越界。
10.不含任何字符的串称为_______。
11.在串S=“structure”中,以t为首字符的子串有个。
12.在文本编辑程序中查找一个特定单词在文本中出现的位置,可以利用串的()运算。
13.链串的结点大小定义为结点的_________中存放的字符个数。
14.与线性表相比,串的插入和删除操作的特点是( )
A.通常以串整体作为操作对象B.需要更多的辅助空间
C.算法的时间复杂度较高D.涉及移动的元素更多
15.设主串长为n,模式串长为m(m≤n),则在匹配失败情况下,朴素匹配算法进行的无效位移次数为( )
A. mB. n-m
C. n-m+1D. n
16.设串sl=″Data Structures with Java″,s2=″it″,则子串定位函数index(s1,s2)的值为( )
14.两个串相等的充分必要条件是两个串的长度相等且_________。
15.在串匹配中,一般将主串称为目标串,将子串称为_ _。
三、解答题(每题5分,共5分)
1.已知主串为″ccgcgccgcgcbcb″,模式串为″cgcgcb″。下表所列为按照朴素的串匹配算法进行的前两趟匹配。请继续完成余下各趟匹配,直至结束。
A.15B.16C.17D.18
17.为查找某一特定单词在文本中出现的位置,可应用的串运算是( )
A.插入B.删除C.串联接D.子串定位
18.已知在如下定义的链串结点中,每个字符占用一个字节,指针占用4个字节,则该结点的存储密度为()。
typedef struct node { char data[8]; struct node * next;} LinkStrNode;
C.顺序存储和链式存储D.散列存储和顺序存储
二、填空题(每题2分,共30分)
1.已知substr(s,i,len)函数的功能是返回串s中第i个字符开始长度为len的子串,strlen(s)函数的功能是返回串s的长度。若s=″ABCDEFGHIJK″,t=″ABCD″,执行运算substr(s,strlen(t),strlen(t))后的返回值为____________。
7.字符串中任意个连续的字符组成的子序列称为该串的__________。
8.给定串的联接操作函数:
char *strcat(char *to, char *from);
//将串from联接到串to的末尾,并返回联接后的串
若字符串s1=〞point〞,s2=〞of〞,则strcat(s1,strcat)(s2,s1))的操作结果是___________。
3.串的操作函数str定义为:
intstr(char*s){
char *p=s;
while (*p!=′\0′)p++;
return p-s;
}
则str(″abcde″)的返回值是( )
A.3B.4
C.5D.6
4.在目标串T[0..n-1]=″xwxxyxy″中,对模式串P[0..m-1]=″xy″进行子串定位操作的结果是( )
(2)简述算法f32的功能。
int f32 (char*s){
int i, n, inword;
n=inword=0;
for (i=0;s[i]!=’\0’;i++)
if (s[i]!=’⊔’&& inword==0){
inword=1;
n++;
}
else if (s[i]==’⊔’&& inword==1)
A.P=″SCIENCE″B.P=″STUDY″
C.S=″SCIENCE″D.S=″STUDY″
9.5.两个字符串相等的条件是()
A.串的长度相等B.含有相同的字符集
C.都是非空串D.串的长度相等且对应的字符相同
10.一个链串的结点类型定义为
﹟define NodeSize 6
typedef structnode{
{count ++; i=j-sub -> length +1;}
else i++;
}
return count;
}
(1)
(2)
strcat (X,Y);
A.〞cdefgh〞B.〞cdxyzw〞
C.〞cdefxy〞D.〞cdefef〞
7.判断两个串大小的基本准则是( )
A.两个串长度的大小B.两个串中首字符的大小
C.两个串中大写字母的多少D.对应的第一个不等字符的大小
8..已知函数Sub(s,i,j)的功能是返回串s中从第i个字符起长度为j的子串,函数Scopy(s,t)的功能为复制串t到s。若字符串S=″SCIENCESTUDY″,则调用函数Scopy(P,Sub(S,1,7))后得到( )
4.串S=″I am a worker″的长度是________。
5.20.设S1="good",S2=" ",S3="book",则S1,S2和S3依次联接后的结果是____________。
相关文档
最新文档