开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
1 Star 0 Fork 127

DevilcLo/数据结构(C++模板实现)

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (3)
master
Prometheus
dev
master
分支 (3)
master
Prometheus
dev
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (3)
master
Prometheus
dev
test.cpp 6.80 KB
一键复制 编辑 原始数据 按行查看 历史
Y_Dash 提交于 2023年06月23日 00:53 +08:00 . 字符串优化doxygen
/*!
* @file test.cpp
* @author CyberDash计算机考研, cyberdash@163.com(抖音id:cyberdash_yuan)
* @brief 字符串匹配测试.cpp文件
* @version 0.2.1
* @date 2021年08月23日
*/
#include "test.h"
#include "cyber_dash_string.h"
/*!
* @brief **测试-字符串-基本函数**
* @note
* 测试-字符串-基本函数
* -----------------
* -----------------
*
* -----------------
* 测试重载==\n
* 测试重载!=\n
* 测试复制构造函数\n
* 测试重载+=\n
* 测试重载[]\n
* 测试重载>,>=,<,<=\n
* 测试重载<<\n
*
*
* -----------------
*/
void TestStringBaseFunctions() {
cout << endl;
cout << "|------------------------ CyberDash ------------------------|" << endl;
cout << "| Test String base functions |" << endl;
cout << "| 测试-字符串-基本函数 |" << endl << endl << endl;
String str1("cyber");
String str2("dash");
// - 测试重载==
cout << "测试重载==" << endl;
bool is_same = str1 == str2;
cout << is_same << endl << endl;
// - 测试重载!=
cout << "测试重载!=" << endl;
bool is_not_same = str1 != str2;
cout << is_not_same << endl << endl;
// - 测试复制构造函数
cout << "测试复制构造" << endl;
String str3 = str1;
cout << str3 << endl << endl;
// - 测试重载+=
cout << "测试重载+=" << endl;
str1 += str2;
cout << str1 <<endl << endl;
// - 测试重载[]
cout << "测试重载[]" << endl;
cout << str1[0] << endl;
str1[0] = 'C';
cout << str1 << endl << endl;
// - 测试重载>,>=,<,<=
cout << "测试重载>,>=,<,<=" << endl;
String str4("elements");
String str5("element");
cout << (str4 > str5) << endl;
cout << (str4 >= str5) << endl;
cout << (str4 < str5) << endl;
cout << (str4 <= str5) << endl;
String str6("table");
String str7("tables");
cout << (str6 > str7) << endl;
cout << (str6 >= str7) << endl;
cout << (str6 < str7) << endl;
cout << (str6 <= str7) << endl << endl;
// - 测试重载<<
cout << "测试重载<<" << endl;
String str8;
cout << str8 << endl;
cout << "-------------------------------------------------------------" << endl << endl;
}
/*!
* @brief **测试-字符串-BF算法**
* @note
* 测试-字符串-BF算法
* -----------------
* -----------------
*
* 暴力算法
*
* -----------------
* + **1 声明字符串**\n\n
* 目标串"hand in hand we can, start to understand"\n
* 模式串1"hand"\n
* 模式串2"understand"\n\n
* + **2 执行匹配**\n\n
* 获取模式串1的匹配结果\n
* 获取模式串2的匹配结果\n
*
*
* -----------------
*/
void TestBruteForceMatch() {
cout << endl;
cout << "|------------------------ CyberDash ------------------------|" << endl;
cout << "| Test BruteForceMatch |" << endl;
cout << "| 测试BF算法 |" << endl << endl << endl;
String target_str("hand in hand we can, start to understand");
String pattern_str_1("hand");
String pattern_str_2("understand");
cout << "目标串: " << target_str << endl << endl;
cout << "模式串" << pattern_str_1 << "的匹配位置: " << target_str.BruteForceMatch(pattern_str_1, 0) << endl;
cout << "模式串" << pattern_str_2 << "的匹配位置: " << target_str.BruteForceMatch(pattern_str_2, 0) << endl;
cout << "-------------------------------------------------------------" << endl << endl;
}
/*!
* @brief **测试-字符串-KMP算法**
* @note
* 测试-字符串-KMP算法
* -----------------
* -----------------
*
* -----------------
* + **1 声明字符串**\n\n
* 目标串"aaaabcd56****abcd56abcd7777"\n
* 模式串1"abcd56abcd7"\n
* 模式串2"ababc"\n
* 模式串3"bcd56abc"\n
* 模式串4"7"\n\n
* + **2 执行匹配**\n\n
* 获取模式串1的匹配结果\n
* 获取模式串2的匹配结果\n
* 获取模式串3的匹配结果\n
* 获取模式串4的匹配结果\n
*
*
* -----------------
*/
void TestKmpMatch() {
cout << endl;
cout << "|------------------------ CyberDash ------------------------|" << endl;
cout << "| Test KmpMatchByCyberdash |" << endl;
cout << "| 测试KMP算法 |" << endl << endl << endl;
String target_str("aaaabcd56****abcd56abcd7777");
String pattern_str_1("abcd56abcd7");
String pattern_str_2("ababc");
String pattern_str_3("bcd56abc");
String pattern_str_4("7");
cout << "目标串: " << target_str << endl << endl;
cout << "模式串\"" << pattern_str_1 << "\"的匹配位置: " << target_str.KmpMatchByCyberdash(pattern_str_1, 0) << endl;
cout << "模式串\"" << pattern_str_2 << "\"的匹配位置: " << target_str.KmpMatchByCyberdash(pattern_str_2, 0) << endl;
cout << "模式串\"" << pattern_str_3 << "\"的匹配位置: " << target_str.KmpMatchByCyberdash(pattern_str_3, 0) << endl;
cout << "模式串\"" << pattern_str_4 << "\"的匹配位置: " << target_str.KmpMatchByCyberdash(pattern_str_4, 0) << endl;
cout << "-------------------------------------------------------------" << endl << endl;
}
/*!
* @brief **测试-字符串-KMP算法(CyberDash版)**
* @note
* 测试-字符串-KMP算法(CyberDash版)
* -----------------------------
* -----------------------------
*
* -----------------------------
* + **1 声明字符串**\n\n
* 目标串"aaaabcd56****abcd56abcd7777"\n
* 模式串1"abcd56abcd7"\n
* 模式串2"ababc"\n
* 模式串3"bcd56abc"\n
* 模式串4"7"\n\n
* + **2 执行匹配**\n\n
* 获取模式串1的匹配结果\n
* 获取模式串2的匹配结果\n
* 获取模式串3的匹配结果\n
* 获取模式串4的匹配结果\n
*
*
* -----------------
*/
void TestKmpMatchCyberDash() {
cout << endl;
cout << "|------------------------ CyberDash ------------------------|" << endl;
cout << "| Test KmpMatch |" << endl;
cout << "| 测试KMP算法 |" << endl << endl << endl;
String target_str("aaaabcd56****abcd56abcd7777");
String pattern_str_1("abcd56abcd7");
String pattern_str_2("ababc");
String pattern_str_3("bcd56abc");
String pattern_str_4("7");
cout << "目标串: " << target_str << endl << endl;
cout << "模式串" << pattern_str_1 << "的匹配位置: " << target_str.KmpMatch(pattern_str_1, 0) << endl;
cout << "模式串" << pattern_str_2 << "的匹配位置: " << target_str.KmpMatch(pattern_str_2, 0) << endl;
cout << "模式串" << pattern_str_3 << "的匹配位置: " << target_str.KmpMatch(pattern_str_3, 0) << endl;
cout << "模式串" << pattern_str_4 << "的匹配位置: " << target_str.KmpMatch(pattern_str_4, 0) << endl;
cout << "-------------------------------------------------------------" << endl << endl;
}
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

通用的C++数据结构代码实现,使用模板。代码完整,注释齐全,可直接运行,可使用doxygen生成网页和PDF文档,跨Windows/Linux/Mac平台兼容
暂无标签
MulanPSL-2.0
使用 MulanPSL-2.0 开源许可协议
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/DevilcLo/data-structures-cpp.git
git@gitee.com:DevilcLo/data-structures-cpp.git
DevilcLo
data-structures-cpp
数据结构(C++模板实现)
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /