/*******************************************************************************
* 数据结构教学程序:字符串
* 用于测试字符串类及相关算法
* 版权声明:您可以随意使用、复制或传播本代码,但请保留原作者姓名
* 作者:成都理工大学信息科学与技术学院-软件工程系-邓飞 2015.09
*******************************************************************************/
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include "gstring.h"
using namespace std;
int main(int argc, char *argv)
{
GCString str("abc");
str = str + " def";
str.insert("123 ", 4);
str += " 123";
cout << (const char *)str << endl;
//GCString subStr("123");
//GCString subStr = "abcabcabbac";
GCString subStr = "123";
int *next = new int[subStr.length()];
str.nextKMP2(subStr, next);
cout << (const char *)subStr << endl;
for(int i=0; i<subStr.length(); i++)
{
cout << next[i] << " ";
}
cout << endl;
delete []next;
cout << (const char *)subStr << " indexOf " << str.indexOfKMP(0, subStr) << endl;
GCString after = "456";
cout << "replace All " << (const char *)subStr << " => " << (const char *)after << endl;
int pos = 0;
while(pos >= 0)
{
pos = str.replace(pos, subStr, after);
}
cout << (const char *)str;
//printf("%s\n", str);
return 0;
}