C ,優化查詢指定字串的操作。

2021-09-07 02:54:37 字數 645 閱讀 2924

此函式基於indexof方法搜尋乙個字元非常快這個事實的。

基本想法非常的簡單,這個方法先搜尋這個單詞的第乙個字元。如果一旦找到,它檢測下乙個的字元,該**是有點亂,因為它包含了很多小的優化。例如,我發現,如果該方法在啟動檢測這個詞的其餘部分的「for」迴圈之前檢查第二個字元(第乙個已近被找到),平均效能將會更好。

static int fastindexof(string source, string pattern)

// check the rest of "pattern" (starting with the 3rd character)

found = true;

for (int j = 2; j < pattern.length; j++)

if (source[first + j] != pattern[j])

// if the whole word was found, return its index, otherwise try again

if (found)

return first;

first = source.indexof(c0, ++first, limit - first);

}return -1;

}

C語言的字串按照指定字串分割操作

函式原型 char strtok char str,const char delimiters 引數 str,待分割的字串 c string delimiters,分割符字串。該函式用來將字串分割成乙個個片段。引數str指向欲分割的字串,引數delimiters則為分割字串中包含的所有字元。當str...

從源字串查詢指定字串的實現

從源字串查詢目標字串 resourcecharline 源字串 targetline 目標字串 返回目標字串在源字串中第一次出現的位置 找不到返回 1 int findcharline const char reourcecharline,const char targetline 相等的話 els...

vim中查詢指定字串

0x01 自當前游標位置向上搜尋 pattern enter pattern表示要搜尋的字串 0x02 自當前游標位置向下搜尋 pattern enter 0x03 n繼續從同一方向搜尋 n反方向搜尋 0x04 要查詢單個的pattern,在這個字串前後都加乙個空格 pattern enter 0x...