目前最完整的数据结构1800题包括完整答案第四章串 下载本文

10.编写程序,统计在输入字符串中各个不同字符出现的频度并将结果存入文件(字符串中的合法字符为A-Z这26个字母和0-9这10个数字)。【西北大学 2000 四 (10分)】 11.写一个递归算法来实现字符串逆序存储,要求不另设串存储空间。 【西南交通大学 2000 三、2】

12.已知三个字符串分别为s=’ab?abcaabcbca?a’,s’=’caab’, s’’=’bcb’。利用所学字符串基本运算的函数得到结果串为:s’’’=’caabcbca?aca?a’,要求写出得到上结果串S’’’所用的函数及执行算法。【东北大学 1998 一、1 (10分)】 13.S=“S1S2?Sn”是一个长为N的字符串,存放在一个数组中,编程序将S改造之后输出:

(1)将S的所有第偶数个字符按照其原来的下标从大到小的次序放在S的后半部分; (2)将S的所有第奇数个字符按照其原来的下标从小到大的次序放在S的前半部分; 例如:

S=‘ABCDEFGHIJKL’

则改造后的S为‘ACEGIKLJHFDB’。【中科院计算所 1995】 14.编一程序,对输入的一表达式(字符串),输出其TOKEN表示。表达式由变量A,B,C,常数(数字)0,1,?,9,运算符+,*和括号“(”,“)”组成。首先定义符号的类码:

符号 类码 变量 0 常量 1 * 2 + 3 ( 4 ) 5 其次定义符号的TOKEN表示:

NAMEL 地址类码 0变量:

常量:CONSL 地址类码 1

* :类码 2

+ :类码 3

( :类码 4

) :类码 5

其中NAMEL是变量名表(不允许有相同名),CONST是常量表(不允许有相同数)。 例如,假设有表达式(A+A*2)+2*B*3#,则将生成如下TOKENL:

NAMEL7:)4 1:5(A 2:8:+A013B 9:2+1133:

20110:A* 4:BCONSL0211:2* 5:212:2112* 6:313:312

【吉林大学 1995 一 (20分)】

9