【摘要】:堆分配存储表示用一组地址连续的存储单元存放串字符序列,它们的存储空间可以在程序执行过程中动态分配。用pos存储连续相同字符构成的串的开始位置,max存储连续相同字符构成的串的最大长度,初始值置为0,用C++描述的算法如下:
堆分配存储表示用一组地址连续的存储单元存放串字符序列,它们的存储空间可以在程序执行过程中动态分配。
用C++描述串的堆分配存储的类定义如下:
(1)StrAssign()函数为串赋值,用C++描述的算法如下:
(2)StrCopy()函数复制串,用C++描述的算法如下:
(3)StrCompare()函数判断两个串s和t是否相等,若s=t,则返回0;若s>t,则返回值大于0;若s<t,则返回值小于0。用C++描述的算法如下:
(4)StrConcat()函数用s返回s1和s2连接成的新串,用C++描述的算法如下:
(5)SubString()函数用sub返回串s中第pos个字符开始的长度为len的子串,用C++描述的算法如下:(www.daowen.com)
(6)StrInsert()函数在串s的第pos个字符前插入串t,用C++描述的算法如下:
(7)StrDelete()函数删除串s中第pos个字符开始长度为len的子串,用C++描述的算法如下:
(8)StrReplace()函数将s中第pos字符开始的len个字符子串用串t替换,用C++描述的算法如下:
例4.1 已知字符串s以堆分配存储结构存储,设计一个算法,计算s中出现的第一个最长的连续相同字符构成的串的开始位置和最大的相同字符串长度。
【解】用pos存储连续相同字符构成的串的开始位置,max存储连续相同字符构成的串的最大长度,初始值置为0,用C++描述的算法如下:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
有关数据结构的文章