該文章主要介紹串的順序儲存結構以及相關運算。
標頭檔案:sqstring.h
#ifndef sqstring_h_
#define sqstring_h_
#include const int maxsize = 100;
class sqstringclass //順序串類
;#endif
原始檔:sqstring.cpp
#include "sqstring.h"
using namespace std;
//********************=順序串的基本運算演算法***************====
sqstringclass::sqstringclass() //建構函式
sqstringclass::~sqstringclass() //析構函式
sqstringclass &sqstringclass::operator=(char *cstr) //過載賦值運算子
sqstringclass &sqstringclass::operator=(sqstringclass &t) //過載賦值運算子
if (len1 < len2)
return -1;
else if (len1 > len2)
return 1;
else
return 0;
}//*************************順序串的串匹配(bf)運算演算法********************==
int index(sqstringclass &s, sqstringclass &t)
else
}if (j >= t.strlength()) return i - t.strlength();
else
return -1;
}//*************************=順序串的串匹配(kmpf)運算演算法********************
void getnext(sqstringclass &t, int next)
else
}}int kmpindex(sqstringclass &s, sqstringclass &t)
else
}deletenext;
if (j >= len2)
return i - t.length;
else
return -1;
}
主函式:main.cpp
#include "sqstring.h"
using namespace std;
//***************====順序串的基本運算演算法********************=
void main1()
//-***************==順序串的其他運算演算法***************=
void main2()
//********************順序串的串匹配(bf)運算演算法**********===
void main3()
{ sqstringclass s1, s2;
s1 = "efabcd";
s2 = "cdh";
int index = index(s1, s2);
if (index!=-1)
cout << "s2從"<
4 2串的順序儲存結構
定長順序串是將串設計成一種靜態結構型別,串的儲存分配是在編譯時完成的。與前面所講的線性表的順序儲存結構類似,可用一組位址連續的儲存單元儲存串的字串行。定長順序串型別定義如下 define maxlen 40 typedef struct sstring 其中 maxlen 表示串的最大長度,ch 是...
4 1 串的順序儲存結構
header content type text html charset utf 8 class linear string 生成乙個值等於字串常量chars的串 public function strassign chars null this string substr this string...
順序儲存結構
順序儲存結構的插入與刪除 獲得元素操作 將線性表 l中的第 i個位置元素值返回,在陣列下標範圍內,就是把陣列第 i 1下標的值返回即可。define ok1 defineerror 0 definetrue 1 definefalse 0 typedefint status status 是函式的型...