字符串

问题描述:

    使用C++实现字符串操作,包括操作如下:

clipboard

问题说明:

/*

* 字符串是一种特殊的线性表,其实现可以采用三种方式

* (1)数组的顺序存储

* (2)链表的链式存储

* (3)存储在堆区的半动态存储

**/

/*

* 下面以堆区的存储实现字符串的一些操作,

* 存储在堆区的半动态存储,集合了数组和链表的优点,动态扩充,存储在连续空间

**/

问题解决:

        求解字符串操作中的如上函数:

创建构造函数:

clipboard[1]

//下面是两种构造函数,有参数的构造函数和无参数的构造函数

clipboard[2]

(1)复制字符串操作:

clipboard[3]

注意:

        以上使用字符串的操作,使用间接赋值操作,也就是ptr[j]=elem[j];使用*ptr操作,在进行ptr++的操作时,可能引起ptr指针的混乱(其他类体中的函数使用ptr,不正确)。

(2)字符串的查找,这里使用BF算法,算法的思想是:

            从字符串中第一个字符开始寻找,找到第一个与待测字符串匹配的位置,开始逐个进行字符串的匹配,如果出现不匹配的情况,那么进行回溯,返回到与待测字符串进行匹配成功的第一个位置的下一个位置,继续进行从头开始的匹配操作。

算法的主要思想就是:回溯

clipboard[4]

(3)查找字符串中指定的字符

clipboard[5]

(4)求字符串的子串

clipboard[6]

(5)字符串连接

clipboard[7]

(6)求字符串的长度

clipboard[8]

(7)输出字符串

clipboard[9]

(8)析构函数

clipboard[10]

主函数:

clipboard[11]

posted @ 2013-04-28 10:13  罗松超  阅读(194)  评论(0编辑  收藏  举报