一種替換字串的思路

2021-10-23 10:37:39 字數 644 閱讀 6318

網路程式設計經常存在替換字串中指定字元為另一種字元,如將字串中的空格字元替換為「%20」,

例子:一種思路:

乙個空格字元替換成「%20」多了兩個字元的位置,所以先遍歷一遍字串,找出字串中存在的空字元個數n,然後使用n*2加上原來的字元長度即為新的字元長度,之後定義兩個游標p1,p2,p1指向原字串的最後乙個字元,而p2指向新字串的最後乙個字元,開始p1向前移動,如果p1指的是字元,則將p1所指向字元複製到p2所指的位置,複製後p2向前移動一步,如碰到空格字元則p2多走兩個位置,即將空格位置替換為「%20」。

#include using namespace std;

void replaceblank(char string,int length)

int newlength=originallength+spacenum*2;

if(newlength>length)

return;

int newindex=originallength;

int newend=newlength;

while (newend>newindex && newindex>0)

else

--newindex;

}}int main()

一種字串搜尋方法

在閱讀開源 過程中發現一種字串搜尋方法,仔細分析之後終於搞懂其原理了。雖然不知道這種搜尋方法學術上叫什麼名字,但是對其構造跳轉表,跳躍搜尋的方式很感興趣,所以記錄下來分享一下。先看大致的 define maxchar 256 key 搜尋關鍵字 shift table 跳轉表陣列指標 void re...

一種字串搜尋方法

在閱讀開源 過程中發現一種字串搜尋方法,仔細分析之後終於搞懂其原理了。雖然不知道這種搜尋方法學術上叫什麼名字,但是對其構造跳轉表,跳躍搜尋的方式很感興趣,所以記錄下來分享一下。先看大致的 define maxchar 256 key 搜尋關鍵字 shift table 跳轉表陣列指標 void re...

一種快速的字串匹配演算法

快速字串查詢函式 目前比較流行的字串有kmp與bm演算法,實際上kmp演算法在使用的時候比strchr快不了多少,而bm演算法也 大約只有kmp演算法的3 5倍。這裡介紹乙個快速字串查詢函式。舉乙個例子 hello,world 中查詢 word 子串,可以先把兩個字串按照首位元組對好 hello,w...