数据结构精品深程 习题作业 数据结构习题作业 第1章绪论 一、填空题 1数据的逻辑结构是数据元素之间的逻辑关系,通常有下列4类:()、()、()和()。 2。数据的存储结构是数据在计算机存储器内的表示,主要有四种基本存储为法:(入(人()和(。 3.设待处理问题的规模为,如果一个算法的时问复杂度为一个常数,则表示成数量级的形式为():如果为 nxog5n,则表示成数量级的形式为(), 4。算法的每一步,必须有确切的定义。也就是说,对于每一步需要执行的动作必须严格、清楚地给出定。这 是算法的()” 5。算法原则上都是能够由机器或人完成的。整个算法好像是一个解决问题的“工作序列”,其中的每一步都是我 们力所能及的一个动作。这是算法的()。 二、选择题 1.假设有如下遗产继承规则:丈夫和妻子可相互继承遗产,子女可继承父亲或母亲的遗产,子女之间不能相互 继承遗产。那么表示该遗产继承关系最合适的数据结构应是()。 A)树 (B)图 (C线性表 D)集合 2.下面程序段的时间复杂度为()。 for(i-0:1<m:++i) for(j=0;j<n;++j)a[i][j]=i*j; (A)0m2 B)0n2 (C)O(m'n) (D)O(m+n) 3.执行下面程序段,S语句被执行的次数为()人 for(i=0:i<n;++i) for(j=0;j<i;++j)S; (A)n2 (B) (C)n(n+I) (D)n(n-ly2 4。下面算法的时问复杂度为()。 int Ex 1(intn)【 if((n==0)II (n==1))return 1; else return n*Ex 1(n-1): 11/Ex1 (A)O) (B)0n) (C)o(n) 5.使用Ex2(5)调用下而算法时,该算法被调用的总次数为(). int Ex2(intn)【 if(n-=0)return 1; else return n*Ex_2(n-1); 1//Ex2 (A)1 B)2 (C5 (D)6
数据结构精品课程 习题作业 1 数据结构习题作业 第1章 绪论 一、填空题 1.数据的逻辑结构是数据元素之间的逻辑关系,通常有下列4类:( )、( )、( )和( )。 2.数据的存储结构是数据在计算机存储器内的表示,主要有四种基本存储方法:( )、( )、( )和( )。 3.设待处理问题的规模为n,如果一个算法的时间复杂度为一个常数,则表示成数量级的形式为( );如果为 n×log25n,则表示成数量级的形式为( )。 4.算法的每一步,必须有确切的定义。也就是说,对于每一步需要执行的动作必须严格、清楚地给出规定。这 是算法的( )。 5.算法原则上都是能够由机器或人完成的。整个算法好像是一个解决问题的“工作序列”,其中的每一步都是我 们力所能及的一个动作。这是算法的( )。 二、选择题 1.假设有如下遗产继承规则:丈夫和妻子可相互继承遗产,子女可继承父亲或母亲的遗产,子女之间不能相互 继承遗产。那么表示该遗产继承关系最合适的数据结构应是( )。 (A) 树 (B) 图 (C) 线性表 (D) 集合 2.下面程序段的时间复杂度为( )。 for(i=0;i<m;++i) for(j=0;j<n;++j) a[i][j]=i*j; (A) O(m2 ) (B) O(n2 ) (C) O(m*n) (D) O(m+n) 3.执行下面程序段,S语句被执行的次数为( )。 for(i=0;i<n;++i) for(j=0;j<i;++j) S; (A) n2 (B) n2 /2 (C) n(n+1) (D) n(n-1)/2 4.下面算法的时间复杂度为( )。 int Ex_1(int n) { if((n==0)||(n==1)) return 1; else return n*Ex_1(n-1); } // Ex_1 (A) O(1) (B) O(n) (C) O(n2 ) (D) O(n!) 5.使用Ex_2(5)调用下面算法时,该算法被调用的总次数为( )。 int Ex_2(int n) { if(n==0) return 1; else return n*Ex_2(n-1); } // Ex_2 (A) 1 (B) 2 (C) 5 (D) 6
数据结构精品课程 习题作业 三、问答颗 1.算法与程序有何异同 2.什么是数据结构?试举一个简单的侧子说明。 3.什么是数据的逻辑结构?什么是数据的存储结构? 4.什么是算法?算法有哪些特性? 5.设为正整数,用大“0”表示法如何描述下列程序段的时间复杂度 (1) i=1;k=0: whi1e(i<n){k=k+10*1:1++:1 (2) i=0:k=0: do k=k+10+i;i++;while(icn) (3) x=n; //n是常数且n>1 wh11e(x>=(y+1)+(y+1))y++: (4) while(i+j<=n){ if(i>j)j++; e13e1++: (5) x=91y-100 while(y>0) 1f(x>100){x=x-10;y-:1 else xt+; 四、算法分析题 1.将下列复杂度由小到大重新排序:2”、nl、n、10000、logn、n×1ogn。 2.求多项式A(x)的算法可以根据下列两个公式之一米设计: (2)A(x)=(+ao 试根据算法的时间复杂度分析比较这两种算法的优劣 3.设有三个函数:n户100m3+n2+1000,gn)-25m'+5000m2,h(n-m545000nlgn.试分析并判断下列关系是否成立: (1)fn=0(g(n)) (2)g(n=Ofn》 (3)hn=0n5 (4)h(n)=O(nlogn) 4.设有丙个算法在同一个机器上运行,其执行时间分别为10Om和2”.如果要使前者快于后者,则至少需要多大 5。有时为了比较两个同数量级算法的优劣,必须突出主项的常数因子,而将低幂次项用大“0”表示。例如,设 Ti(oj=1.39mlgn+100n+256=1.39nlgn+0,To=2.0nlgn-2=2.0lgn+O(o.因为前者的常数因子小于后者,所以当n足够 大时T)优于T,)。试用此方法表示下列函数,并指出当足够大时,哪一个较优,理一个较劣? 2.3 (2)Ta-=3+1000m+3lg (3)Tn-8m2+3gn (4)T(n)=1.5n+6000nlgn 第2章线性表 一、填空题 1.如果顺序表中第一个元素存储地址是100,每个元素长度为2,则第5个元素存储地址是() 2
数据结构精品课程 习题作业 2 三、问答题 1.算法与程序有何异同? 2.什么是数据结构?试举一个简单的例子说明。 3.什么是数据的逻辑结构?什么是数据的存储结构? 4.什么是算法?算法有哪些特性? 5.设n为正整数,用大“O”表示法如何描述下列程序段的时间复杂度。 (1) i=1; k=0; while(i<n) { k=k+10*i; i++; } (2) i=0; k=0; do { k=k+10*i; i++; } while(i<n); (3) x=n; // n 是常数且 n>1 while(x>=(y+1)*(y+1)) y++; (4) i=1; j=0; while(i+j<=n) { if(i>j) j++; else i++; } (5) x=91; y=100; while(y>0) if(x>100) { x=x-10; y-; } else x++; 四、算法分析题 1.将下列复杂度由小到大重新排序:2n 、n!、n2 、10000、log2n、n×log2n。 2.求多项式A(x)的算法可以根据下列两个公式之一来设计: (1)A(x)=anxn +an-1xn-1+.+a1x+a0 (2)A(x)=(.(anx+an-1)x+.+a1)x)+a0 试根据算法的时间复杂度分析比较这两种算法的优劣。 3.设有三个函数:f(n)=100n3 +n2 +1000,g(n)=25n3 +5000n2 ,h(n)=n1.5+5000nlgn。试分析并判断下列关系是否成立: (1)f(n)=O(g(n)) (2)g(n)=O(f(n)) (3)h(n)=O(n1.5) (4)h(n)=O(nlogn) 4.设有两个算法在同一个机器上运行,其执行时间分别为100n2 和2n 。如果要使前者快于后者,则n至少需要多大? 5.有时为了比较两个同数量级算法的优劣,必须突出主项的常数因子,而将低幂次项用大“O”表示。例如,设 T1(n)=1.39nlgn+100n+256=1.39nlgn+O(n),T2(n)=2.0nlgn-2n= 2.0lgn+O(n)。因为前者的常数因子小于后者,所以当n足够 大时T1(n)优于T2(n)。试用此方法表示下列函数,并指出当n足够大时,哪一个较优,哪一个较劣? (1)T1(n)=5n2 -3n+60lgn (2)T2(n)=3n2 +1000n+3lgn (3)T3(n)=8n2 +3lgn (4)T4(n)=1.5n2 +6000nlgn 第2章 线性表 一、填空题 1.如果顺序表中第一个元素存储地址是 100,每个元素长度为 2,则第 5 个元素存储地址是( )
数据结构精品课程 习题作业 2.在一个长度为n的顺序表第i(1≤i≤1)个元泰之前插入一个元素,需要向后移动()个元秦,别除第i (1≤i≤)个元素时,需要向前移动()个元素。 3.设单链表中指针p指向结点a。如果要别除a的后继(假设a存在后继),则需要修改指针的操作为()。 4.在由尾指针ar指示的循环链表中表尾插入一个结点s的操作序列是()上刷除开始结点的操作序列为(). 5。在一个具有n个结点的单链表中,在指针p所指结点后插入一个新结点的时问复杂度为():在给定值为 的结点后插入一个新结点的时间复杂度为()。 二、选择题 1.在长度为n的顺序表中元素c的时间复杂度为(). (A)00 C)O(n (D)O(n2 2。已知线性表L采用顺序存储结构。知果每个元素占用4个存储单元,第9个元素的地址为14,则第1个元素 的地址是()。 (A)108 (B)180 (C176 D)112 3。如果在某个线性表中最常用的操作是选取第i个元素和寻找第个元索的前熏,则采用()存储结构最节省 时问 (A顺序表 (B)单链表 (C)双链表 (①D)单循环链表 4.在具有个结点的有序单链表中插入一个新结点,并仍然保持其有序性的时间复杂度是(). (A)01) (D)O(nlog:) 在个装表中,已想。的结点是p所白的结点的乳,如果在电p之入:所指向的结点,圆 5.在 应该执行()操作。 (A)s->next=p->next;p->next=s. (B)q->next=s;s->next=p; (C)p->next=s->next,s->next-p (D)p->next=s,s->next=q 2.5.3问答题 1,什么时候选用顺序表、什么时候选用链表作为线性表的存储结构为宜? 2.为什么在单循环链表中设置尾指针比设置头指针史好? 3.在单链表、循环链表和双向链表中,如果仅知道指针p指向某结点,而不知道头指针,则能否将所指向的 结点从相应的链表中删去?如果可以,则其时间复杂度各为多少 4.在图2-18示的数组A中链接存储着一个线性表,表头指针为A[O]ext,则该线性表是什么? A 0 4 5 6 data 60564238 2425 exe4376201■ 图2-18线性表的存储结构 5.下述算法的功能是什么? LinkList Demo(LinkList L)( /川L是无头结点单锁表 if (L&&L->next){ O=L:I=L->next:P=L: while (P->next)P=P->next: P->next=Q;Q->next-NULL return Li /Demo 四、算法设计题 3
数据结构精品课程 习题作业 3 2.在一个长度为 n 的顺序表第 i(1≤i≤n+1)个元素之前插入一个元素,需要向后移动( )个元素,删除第 i (1≤i≤n)个元素时,需要向前移动( )个元素。 3.设单链表中指针 p 指向结点 a,如果要删除 a 的后继(假设 a 存在后继),则需要修改指针的操作为( )。 4.在由尾指针 rear 指示的循环链表中表尾插入一个结点 s 的操作序列是( );删除开始结点的操作序列为( )。 5.在一个具有 n 个结点的单链表中,在指针 p 所指结点后插入一个新结点的时间复杂度为( );在给定值为 e 的结点后插入一个新结点的时间复杂度为( )。 二、选择题 1.在长度为 n 的顺序表中元素 e 的时间复杂度为( )。 (A) O(0) (B) O(1) (C) O(n) (D) O(n2 ) 2.已知线性表 L 采用顺序存储结构,如果每个元素占用 4 个存储单元,第 9 个元素的地址为 144,则第 1 个元素 的地址是( )。 (A) 108 (B) 180 (C) 176 (D) 112 3.如果在某个线性表中最常用的操作是选取第 i 个元素和寻找第 i 个元素的前驱,则采用( )存储结构最节省 时间。 (A) 顺序表 (B) 单链表 (C) 双链表 (D) 单循环链表 4.在具有 n 个结点的有序单链表中插入一个新结点,并仍然保持其有序性的时间复杂度是( )。 (A) O(1) (B) O(n) (C) O(n2 ) (D) O(nlog2n) 5.在一个单链表中,已知 q 所指向的结点是 p 所指向的结点的前驱,如果在 q 和 p 之间插入 s 所指向的结点,则 应该执行( )操作。 (A) s->next=p->next; p->next=s; (B) q->next=s; s->next=p; (C) p->next=s->next; s->next=p; (D) p->next=s; s->next=q; 2.5.3 问答题 1.什么时候选用顺序表、什么时候选用链表作为线性表的存储结构为宜? 2.为什么在单循环链表中设置尾指针比设置头指针更好? 3.在单链表、循环链表和双向链表中,如果仅知道指针 p 指向某结点,而不知道头指针,则能否将 p 所指向的 结点从相应的链表中删去?如果可以,则其时间复杂度各为多少? 4.在图 2-18 示的数组 A 中链接存储着一个线性表,表头指针为 A[0].next,则该线性表是什么? 图 2-18 线性表的存储结构 5.下述算法的功能是什么? LinkList Demo(LinkList L) { // L是无头结点单链表 if(L&&L->next) { Q=L; L=L->next; P=L; while(P->next) P=P->next; P->next=Q; Q->next=NULL; } return L; } // Demo 四、算法设计题
数据结构精品课程 习题作业 1.试分别用顺序表和单链表作为存储结构,实现将线性表(.,.)就地逆置的操作。所谓“就地”是指辅 助空间应为0(1 2.设顺序表L是一个递减有序表,试设计一个算法:将©插入到L中,并使L仍为一个有序表。 3.设La和Lb是两个单链表,表中元素递增有序,试设计一个算法:将La和Lb就地归并成一个拔元素值递减 有序的单链表L©.请分折算法的时间复杂度。 4.已知一个单链表L,试设计一个算法:将单链表中值重复的结点除,使所得的结果单链表中各结点值均不相 同。 5.假设在长度大于1的循环链表中,既无头结点也无头指针。s为指向循环链表中某个结点的指针,试设计一个 算法:别除s所指向结点的前驱。 第3章栈和队列 一、填空题 1.线性表、栈和队列都属于()结构。可在线性表()位置插入和制除元素:对于栈只能在()插入和 耐除元素:对于队列只能在()插入元素和在()副除元素, 2.在操作序列push1,Push2,popO.push(5),push(7),popO和push6)之后,栈项元素是(,栈底元素是 3.在操作序s列enqueve1).enqueue(2).dequeuel0,engueue5).enqueue(7刀.dequeue0和enqueue9)之后,队头 元素是(),队尾元素是(). 4.实现递归函数调用的一种数据结构是()。 .在其有个单元的环队中,队满时共有《)个元素 二、选择题 1.如果一个栈的入栈序列是1、23、4、5,则栈不可能的输出序列是(). (A54321 (B45321 (94312 (D)12345 2.如果一个队列的入队顺序是1、2、3、4,则队列的输出顺序是(). (A)4321 (B)1234 (C)1432 D13241 3.在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印缓冲区,该缓冲区应该是一个()结 构。 (A)钱 (B)队列 (C数组 (D)线性表 4.如果要从栈顶指针为©即的链栈中别除一个结点,用e保存被制除结点的值,则执行()。 (A)c=top,top=top->next, (B)e-opdata next;e=top->dat (D)e-top->dat a top=top->nex 5.设栈S和队列Q的初始状态为空,元素、s、依次通过栈S,一个元素出栈后即进入队列Q 如果6个元素出队的顺序是a、4、a、6、斯、4,则钱S的容量至少应该是(). (A)6 (B)4 93 D)2 三、问答题 1.循环队列的引入是为了克服什么问圈? 2.设有一个栈,元素进栈的次序为a、b、c,d、e,能否得到出栈序列c、e,a、b、d和cb、a、d、e?如果 能,则写出操作序列:如果不能,则说明原因。 3.如果用QI表示一个循环队列,用o表示队头元泰的 一个位置,用r表示队尾元索的位置,那么队列 4
数据结构精品课程 习题作业 4 1.试分别用顺序表和单链表作为存储结构,实现将线性表(a0, a1, . an-1)就地逆置的操作。所谓“就地”是指辅 助空间应为 O(1)。 2.设顺序表 L 是一个递减有序表,试设计一个算法:将 e 插入到 L 中,并使 L 仍为一个有序表。 3.设 La 和 Lb 是两个单链表,表中元素递增有序,试设计一个算法:将 La 和 Lb 就地归并成一个按元素值递减 有序的单链表 Lc,请分析算法的时间复杂度。 4.已知一个单链表 L,试设计一个算法:将单链表中值重复的结点删除,使所得的结果单链表中各结点值均不相 同。 5.假设在长度大于 1 的循环链表中,既无头结点也无头指针。s 为指向循环链表中某个结点的指针,试设计一个 算法:删除 s 所指向结点的前驱。 第3章 栈和队列 一、填空题 1.线性表、栈和队列都属于( )结构。可在线性表( )位置插入和删除元素;对于栈只能在( )插入和 删除元素;对于队列只能在( )插入元素和在( )删除元素。 2.在操作序列 push(1),push(2),pop(),push(5),push(7),pop()和 push(6)之后,栈顶元素是( ),栈底元素是 ( )。 3.在操作序列 enqueue(1),enqueue(2),dequeue(),enqueue(5),enqueue(7),dequeue()和 enqueue(9)之后,队头 元素是( ),队尾元素是( )。 4.实现递归函数调用的一种数据结构是( )。 5.在具有 n 个单元的循环队列中,队满时共有( )个元素。 二、选择题 1.如果一个栈的入栈序列是 1、2、3、4、5,则栈不可能的输出序列是( )。 (A) 54321 (B) 45321 (C) 43512 (D) 12345 2.如果一个队列的入队顺序是 1、2、3、4,则队列的输出顺序是( )。 (A) 4321 (B) 1234 (C) 1432 (D) 3241 3.在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印缓冲区,该缓冲区应该是一个( )结 构。 (A) 栈 (B) 队列 (C) 数组 (D) 线性表 4.如果要从栈顶指针为 top 的链栈中删除一个结点,用 e 保存被删除结点的值,则执行( )。 (A) e=top; top=top->next; (B) e=top->data; (C) top=top->next; e=top->data; (D) e=top->data; top=top->next; 5.设栈 S 和队列 Q 的初始状态为空,元素 a1、a2、a3、a4、a5、a6依次通过栈 S,一个元素出栈后即进入队列 Q。 如果 6 个元素出队的顺序是 a2、a4、a3、a6、a5、a1,则栈 S 的容量至少应该是( )。 (A) 6 (B) 4 (C) 3 (D) 2 三、问答题 1.循环队列的引入是为了克服什么问题? 2.设有一个栈,元素进栈的次序为 a、b、c、d、e,能否得到出栈序列 c、e、a、b、d 和 c、b、a、d、e?如果 能,则写出操作序列;如果不能,则说明原因。 3.如果用 Q[n]表示一个循环队列,用 front 表示队头元素的前一个位置,用 rear 表示队尾元素的位置,那么队列
数据结构精品课程 习恩作业 中元素个数是多少? 、n,其输出序列为PI、P2、P、.、P,如果p,则是多少 :品果利个根1和52恢拟个似列,那么应该如何利用栈的运算实现风列的插入和 四、算法设计题 1.试设计一个算法:判定给定的字符向量是否为回文,回文即正读和反读均相同的字符序列,比如字符序列“b” 和字符序列“abdb阳”均是回文,但字符序列“g0od”不是回文。提示:将一半字符入栈.。 2.试设计一个算法:判断一个算术表达式的圆括号是否正确配对,提示:采用栈的结构,对表达式进行扫错时, 凡遇到字符“(”就进栈,遇到字符“)”就退栈,表达式扫描完毕后栈应该为空。 3.假设以带头结点的循环链表表示队列,且只设一个指针指向队尾元素。试设计一个算法:对该循环队列进行 置空队、判队空、入队和出队操 4.假设顺序栈S中有2个元素,从栈顶到栈底的元素依次为,21,·、1。试设计一个算法:通过一个得 环队列Q重新排列该栈中的元煮,使得从栈顶到栈底的元素依次为。、.、1小、.、·要求空间 复杂度和时间复杂度均为O) 5.假设编号为1、2.3、4的四列火车通过一个如图3-2所示 的铁路调度站,可能得到的调度结果有康些?如果 有列火车通过调度站,试设计一个算法:输出所有可能的调度结果。 第4章串 一、填空题 1,空申与空格申的区别在于( 2.两个学符串相等的充分必要条件是〔) 3.设S=1 am a teacther,其长度为()。 4.在KMP算法中,模式T向右滞动的位置k与主串(). 5.模式"abaabcac""的ne函数值序列为()。 二、选择题 1.设有两个申p和q,求q在p中首次出现的位置的运算称作()。 B)桓式匹配 (C求子串 D)求串长 其特殊性体现在()。 (A)可以顺序存储 (B)数据元素是一个字符 (C可以诗式存储 D)数据元素可以是多个字符 3.在顺序串中,根据空间分配方式的不同,可以分为(). 直接分配和间接分配 B)静态分配和动态分配 (©顺序分配和链式分配 (D)随机分配和周定分配 4.下列关于申的叙述中,正确的是()。 (A)一个串的字符个数即该串的长度 ®)一个串的长度至少是1 (©空串是由一个空格字符组成的串 (D)如果两个串S1和S2长度相同,则这两个串相等 5.设中S1=ABCDEFG",S2=PORST:通过连接操作StrConcat(&TS1.S2)返回S1和S2连接而成的新串T. 通过求子申操作SubString(&Sub.S,i,j)返回S从第i个字符起长度为j的子串Sub,通过求长度操作SteLengthe(S)返回S
数据结构精品课程 习题作业 5 中元素个数是多少? 4.已知一个栈的入栈序列是 1、2、3、.、n,其输出序列为 p1、p2、p3、.、pn,如果 p1=n,则 pi 是多少? 5.如果利用两个栈 S1 和 S2 模拟一个队列,那么应该如何利用栈的运算实现队列的插入和删除操作? 四、算法设计题 1.试设计一个算法:判定给定的字符向量是否为回文。回文即正读和反读均相同的字符序列,比如字符序列“abba” 和字符序列“abdba”均是回文,但字符序列“good”不是回文。提示:将一半字符入栈。 2.试设计一个算法:判断一个算术表达式的圆括号是否正确配对。提示:采用栈的结构,对表达式进行扫描时, 凡遇到字符“(”就进栈,遇到字符“)”就退栈,表达式扫描完毕后栈应该为空。 3.假设以带头结点的循环链表表示队列,且只设一个指针指向队尾元素。试设计一个算法:对该循环队列进行 置空队、判队空、入队和出队操作。 4.假设顺序栈 S 中有 2n 个元素,从栈顶到栈底的元素依次为 a2n、a2n-1、.、a1。试设计一个算法:通过一个循 环队列 Q 重新排列该栈中的元素,使得从栈顶到栈底的元素依次为 a2n、a2n-2、.、a2、a2n-1、a2n-3、.、a1。要求空间 复杂度和时间复杂度均为 O(n)。 5.假设编号为 1、2、3、4 的四列火车通过一个如图 3-2 所示的铁路调度站,可能得到的调度结果有哪些?如果 有 n 列火车通过调度站,试设计一个算法:输出所有可能的调度结果。 第4章 串 一、填空题 1.空串与空格串的区别在于( )。 2.两个字符串相等的充分必要条件是( )。 3.设 S="I_am_a_teacther",其长度为( )。 4.在 KMP 算法中,模式 T 向右滑动的位置 k 与主串( )。 5.模式"abaabcac"的 next 函数值序列为( )。 二、选择题 1.设有两个串 p 和 q,求 q 在 p 中首次出现的位置的运算称作( )。 (A) 连接 (B) 模式匹配 (C) 求子串 (D) 求串长 2.串是一种特殊的线性表,其特殊性体现在( )。 (A) 可以顺序存储 (B) 数据元素是一个字符 (C) 可以链式存储 (D) 数据元素可以是多个字符 3.在顺序串中,根据空间分配方式的不同,可以分为( )。 (A) 直接分配和间接分配 (B) 静态分配和动态分配 (C) 顺序分配和链式分配 (D) 随机分配和固定分配 4.下列关于串的叙述中,正确的是( )。 (A) 一个串的字符个数即该串的长度 (B) 一个串的长度至少是 1 (C) 空串是由一个空格字符组成的串 (D) 如果两个串 S1 和 S2 长度相同,则这两个串相等 5.设串 S1="ABCDEFG",S2="PQRST":通过连接操作 StrConcat(&T, S1, S2)返回 S1 和 S2 连接而成的新串 T, 通过求子串操作 SubString(&Sub, S, i, j)返回 S 从第 i 个字符起长度为 j 的子串 Sub,通过求长度操作 SteLength(S)返回 S