網路程式設計經常存在替換字串中指定字元為另一種字元,如將字串中的空格字元替換為「%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...