#include
#include
using namespace std;
#define maxstrlen 200
#define true 1
#define false 0
#define ok 1
#define error 0
#define infeasible -1
#define overflow -2
typedef unsigned char sstring[maxstrlen + 1];
int strassig(sstring &t, char chars)//賦值操作
return ok;
}void get_next(sstring t, int next)
else j = next[j];}}
int index_kmp(sstring s, sstring t, int pos, int next)
else j = next[j];
}if (j>t[0])
return i - t[0];
else return 0;
}void shuchu(sstring s)
int main()
;char chars2[7] = ;
strassig(s, chars1);
cout << "將chars1的值賦予s:";
shuchu(s);
cout << "將chars2的值賦予t:";
strassig(t, chars2);
shuchu(t);
get_next(t, next);
cin >> m;
if (index_kmp(s, t, m, next) == 0)
cout << "在字串s的第" << m << "個字元之後,沒有與子串t相照應的子串" << endl;
else
cout << "在字串s中,與子串t照應的子串位於第" << m << "個字元之後的第" << index_kmp(s, t, m, next) - m <<"個位置"return 0;
}
定長順序串 C語言
題目 用定長順序串編寫下列演算法 1.將順序串r中所有值為ch1的字元轉換成ch2的字元。2.將順序串r中所有字元按照相反次序仍存放在r中。3.從順序串r中刪除其值等於ch的所有字元。4.從順序串r1中第index個字元起求首次與串r2相同的子串的起始位置。5.從順序串r中刪除所有與串r1相同的子串...
串的定長順序儲存表示
串的定長順序儲存表示 define maxstrlen 40 使用者可在255以內定義最大串長 1個位元組 typedef char sstring maxstrlen 1 0號單元存放串的長度 串採用定長順序儲存結構的基本操作 14個 sstring是陣列,故不需引用型別。此基本操作包括演算法4....
定長順序串的基本操作
定長順序串採用的是陣列方法進行儲存,空間分配一次完成,可以實行如下的基本操作 include include using namespace std define maxstrlen 200 define true 1 define false 0 define ok 1 define error ...