資料結構實驗四 串(模式匹配,刪除子串)

2021-08-15 10:06:47 字數 1930 閱讀 5217

實驗三串

一、 實驗目的

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值的大小 串的一些操作函...