知识大全 数据结构考研分类复习真题 第四章 答案[20]
Posted 字符
篇首语:生也有涯,知也无涯。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构考研分类复习真题 第四章 答案[20]相关的知识,希望对你有一定的参考价值。
[题目分析]两个串的相等 其定义为两个串的值相等 即串长相等 且对应字符相等是两个串相等的充分必要条件 因此 首先比较串长 在串长相等的前提下 再比较对应字符是否相等
int equal(strtp s strtp t)//本算法判断字符串s和字符串t是否相等 如相等返回 否则返回 if (s curlen!=t curlen) return ( ); for (i= ; i<s curlen;i++)//在类C中 一维数组下标从零开始 if (s ch[i]!= t ch[i])return ( ); return ( ); //两串相等 //算法结束
[问题分析]由于字母共 个 加上数字符号 个共 个 所以设一长 的整型数组 前 个分量存放数字字符出现的次数 余下存放字母出现的次数 从字符串中读出数字字符时 字符的ASCII代码值减去数字字符 的ASCII代码值 得出其数值( ) 字母的ASCII代码值减去字符 A 的ASCII代码值加上 存入其数组的对应下标分量中 遇其它符号不作处理 直至输入字符串结束
void Count()//统计输入字符串中数字字符和字母字符的个数 {int i num[ ]; char ch; for(i= ;i< ;i++)num[i]=0;// 初始化 while((ch=getchar())!= # ) // # 表示输入字符串结束 if( <=ch<= ){i=ch- ;num[i]++;}// 数字字符 else if( A <=ch<= Z ){i=ch + ;num[i]++;}// 字母字符 for(i= ;i< ;i++) // 输出数字字符的个数 printf( 数字%d的个数=%d\\n i num[i]); for(i= ;i< ;i++)// 求出字母字符的个数 printf( 字母字符%c的个数=%d\\n i+ num[i]); }// 算法结束
cha138/Article/program/sjjg/201311/22603相关参考
.() ()next[k] .()i=i+ ()j:=j+ ()i:=ij+ ()j:=; ()imt(或i:=ij+) () 程序
.()p的nextval函数值为(p的next函数值为) ()利用KMP(改进的nextval)算法每趟匹配过程如下 第一趟匹配abcaabbabcabaacbacba abcab(i=j=
.任意个连续的字符组成的子序列 . O(m+n) . . .()模式匹配 ()模式串 .()其数据元素都是字符()顺序存储()和链式存储()串的长度相等且两串中对
.()S的next与nextval值分别为和p的next与nextval值分别为和 ()利用BF算法的匹配过程
[题目分析]实现字符串的逆置并不难但本题要求不另设串存储空间来实现字符串逆序存储即第一个输入的字符最后存储最后输入的字符先存储使用递归可容易做到 voidInvertStore(charA[])
6.模式串的next函数定义如下 next[j]= 根据此定义可求解模式串t的next和nextval值如下 .解法同上题其next和nextval值分别为和 .解法同题t串的next和n
[题目分析]本题是对字符串表达式的处理问题首先定义种数据结构符号的类码符号的TOKEN表示变量名表NAMEL和常量表CONSL这四种数据结构均定义成结构体形式数据部分用一维数组存储同时用指针指出数
[题目分析]本题属于查找待查找元素是字符串(长)将查找元素存放在一维数组中二分检索(即折半查找或对分查找)是首先用一维数组的中间元素与被检索元素比较若相等则检索成功否则根据被检索元素大于或小于中间
.[题目分析]本题算法采用顺序存储结构求串s和串t的最大公共子串串s用i指针(<=i<=slen)t串用j指针(<=j<=tlen)算法思想是对每个i(<=i<
四.应用题 1.串是零个至多个字符组成的有限序列从数据结构角度讲串属于线性结构与线性表的特殊性在于串的元素是字符 2.空格是一个字符其ASCII码值是空格串是由空格组成的串其长度等于空格的个数