同步操作将从 cyberdash/数据结构(C++模板实现) 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
/*!* @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"void TestStringBaseFunctions() {cout << endl;cout << "|------------------------ CyberDash ------------------------|" << endl;cout << "| Test String base functions |" << endl;cout << "| 测试字符串基本函数 |" << endl << endl << endl;String str1("cyber");String str2("dash");/// - 测试重载==bool is_same = str1 == str2;cout << is_same << endl;/// - 测试重载!=bool is_not_same = str1 != str2;cout << is_not_same << endl;/// - 测试复制构造函数String str3 = str1;cout << str3 << endl;/// - 测试重载+=str1 += str2;cout << str1 <<endl;/// - 测试重载[]cout << str1[0] << endl;str1[0] = 'C';cout << str1 << 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;String str8;cout << str8 << endl;cout << "-------------------------------------------------------------" << endl << endl;}/*! 测试BF算法 */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;}/*! 测试KMP算法 */void TestKmpMatch() {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");cout << "目标串: " << target_str << endl << endl;cout << "模式串\"" << pattern_str_1 << "\"的匹配位置: " << target_str.KmpMatch(pattern_str_1, 0) << endl << endl;cout << "模式串\"" << pattern_str_2 << "\"的匹配位置: " << target_str.KmpMatch(pattern_str_2, 0) << endl << endl;cout << "模式串\"" << pattern_str_3 << "\"的匹配位置: " << target_str.KmpMatch(pattern_str_3, 0) << endl << endl;cout << "-------------------------------------------------------------" << endl << endl;}/*! 测试KMP(CyberDash版本)算法 */void TestKmpMatchCyberDash() {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");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 << "-------------------------------------------------------------" << endl << endl;}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。