我们知道物理结构分为顺序存储结构和链式存储结构,串的顺序存储包括定长顺序存储和堆分配存储两种,由于后者是动态分配内存的,使用起来更灵活,因此我将把串的堆分配存储结构与其操作实现分享各位小伙伴~(串的链式存储不灵活且操作复杂,因此很少用,在此就不分享了)
串的ADT(Abstract Data Type-抽象数据类型)的实现
#1 堆分配存储表示
String.h (数据对象和关系表示)
1 | //===============ADT String的表示====================== |
String_Fun.h (基本操作声明)
1 |
|
String_Fun.cpp (基本操作实现)
1 |
|
test1.cpp (基本操作的测试)
1 |
|
测试结果
由于作者很懒,代码中的一些细节仅仅用几行注释标注,不再详述。但这些注释其实映射了我写程序的心路历程(其实是我犯的一些错误)),这过程中我遇到很多疑惑,好在我通过频繁的Debug以及查阅资料,最终解决了大部分疑惑,于是也就有了上面一行行绿(灰)色的标注。希望这些注释能引起你我的共鸣。
有什么问题欢迎在评论区讨♂论。