實驗三串
一、 實驗目的
1. 熟悉串的順序儲存結構
2. 掌握串的基本運算及應用
二、 實驗內容
1.模式匹配:串採用順序儲存結構,編寫樸素模式匹配演算法,查詢在串中是否存在給定的子串。
//本標頭檔案為實驗四第一問串的順序儲存
#include
using
namespace
std;
const
int size=100;
class seqstring //串採用順序儲存結構
//無引數建構函式
seqstring(char a,int n); //有引數建構函式
~seqstring(){} //析構函式
void delete(int i); //刪除第i個位置的元素
void printstring(); //顯示串的內容
char get(int i);//得到位置i的元素
};seqstring::seqstring(char a,int n)//有引數建構函式
void seqstring::printstring() //顯示串的內容
len--;
}char seqstring::get(int i)//得到位置i的元素
#include
#include"seqstring.h"
using
namespace
std;
int bf(seqstring s,seqstring t)//樸素模式匹配演算法
else
}if(t.get(j)=='\0')return(i-j+1); //存在查詢的字串返回位置
else
return
0; //不存在返回0
}int main()
2.刪除子串:編寫乙個演算法void strdelete(seqstring*s,int pos,int len),從串s中刪除第pos個字元開始長度為len的子串。要求:1≤pos≤s->length-len+1
//本標頭檔案為實驗三第一問串的順序儲存
#include
using
namespace
std;
const
int size=100;
class seqstring //串採用順序儲存結構
//無引數建構函式
seqstring(char a,int n); //有引數建構函式
~seqstring(){} //析構函式
void delete(int i); //刪除第i個位置的元素
void printstring(); //顯示串的內容
char get(int i);//得到位置i的元素
};seqstring::seqstring(char a,int n)//有引數建構函式
void seqstring::printstring() //顯示串的內容
len--;
}char seqstring::get(int i)//得到位置i的元素
#include
#include"seqstring.h"
using
namespace
std;
int bf(seqstring s,seqstring t)//樸素模式匹配演算法
else
}if(t.get(j)=='\0')return(i-j+1); //存在查詢的字串返回位置
else
return
0; //不存在返回0
}int main()
資料結構實驗四 串的模式匹配BF KMP
include include stdio.h include stdlib.h include cstdlib syste 函式需要該標頭檔案 using namespace std define ok 1 define error 0 define overflow 2 typedef int ...
資料結構實驗四 串
一 實驗目的 通過訓練,加深理解並把握串的基本運算的特點。二 實驗內容 問題描述 本題目中的串編輯要求對串實現以下兩種功能 本題目中的串編輯要求對串實現以下兩種功能 插入 把乙個字串插入到給定串的指定位置 刪除 將串中某指定位置開始的若干字元從串中刪除 參考程式 include include in...
資料結構(四) 串
串 string 是由零個或多個字元構成的有限序列,又叫字串 空格串 只包含空格的串 空串 零個字元的串 串的大小比較 對於數字來說,1與2 誰大誰小不用討論,但是 兩個字串怎麼比較大小呢?計算機的常用字元是使用標準的ascii編碼。所以我們字串的比較就是逐個的比較ascii值的大小 串的一些操作函...