成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C++ kmp算法模板代碼解讀

開發(fā) 后端 算法
我們在這篇文章中主要為大家詳細(xì)介紹了C++ kmp算法模板的相關(guān)應(yīng)用方法,希望大家可以從這段代碼中學(xué)到更多的應(yīng)用技巧。

C++編程語言中的模板應(yīng)用是一個比較復(fù)雜的應(yīng)用技術(shù),我們今天就先從C++ kmp算法模板的基本應(yīng)用開始學(xué)習(xí),從而加深我們對這方面知識的認(rèn)識程度,方便將來的應(yīng)用,提高編程效率。

在使用的時候加上這兩行代碼就行了

  1. #include < vector>   
  2. using namespace std; 

 

C++ kmp算法模板參數(shù)說明 #t#

const T *source 待匹配的字符串

TL sourceLen 待匹配字符串的長度

const T *pattern 模式串

TL 模式串長度

C++ kmp算法模板代碼示例:

 

  1. template < class T,class TL>   
  2. inline int kmpmatch(const T *source,TL sourceLen,
    const T *pattern,TL patternLen)   
  3. {   
  4. vector< int> next;   
  5. for ( int i = 0; i <  patternLen ; i ++ )   
  6. next.push_back(0);   
  7. next[0] = -1;   
  8. for( int i = 1 ; i <  patternLen ; i ++ )   
  9. {   
  10. int j = next[i - 1];   
  11. while ( (pattern[i] != pattern[i + 1])&& (j >= 0))   
  12. {   
  13. j = next[j];   
  14. }   
  15. if ( pattern[i] == pattern[j + 1])   
  16. {   
  17. next[i] = j + 1;   
  18. }   
  19. else   
  20. {   
  21. next[i] = -1;   
  22. }   
  23. }   
  24. int i = 0;   
  25. int j = 0;   
  26. while (( i <  sourceLen ) && ( j <  patternLen ))   
  27. {   
  28. if ( source[i] == pattern[j] )   
  29. {   
  30. i ++;   
  31. j ++;   
  32. }   
  33. else if ( j == 0 )   
  34. {   
  35. i ++;   
  36. }   
  37. else   
  38. {   
  39. j = next[j - 1 ] + 1;   
  40. }   
  41. }   
  42. if ( j >= patternLen )   
  43. {   
  44. if ( !next.empty() )   
  45. next.clear();   
  46. return i - patternLen ;   
  47. }   
  48. else   
  49. {   
  50. if ( !next.empty() )   
  51. next.clear();   
  52. return -1;   
  53. }   

 

以上就是對C++ kmp算法模板的相關(guān)介紹。

責(zé)任編輯:曹凱 來源: 博客園
相關(guān)推薦

2010-02-05 17:58:32

C++鏈棧模板

2010-02-03 15:58:51

C++ timer

2010-02-04 09:33:08

C++指針重載

2023-12-06 13:48:00

C++代碼

2010-02-04 16:07:39

C++回調(diào)函數(shù)

2010-02-06 09:46:46

C++單向鏈表

2010-02-04 13:45:36

C++類模板

2010-01-21 14:07:14

CC++聲明

2010-02-02 17:27:16

C++連接MySqL數(shù)

2010-02-01 14:26:50

C++讀寫文本文件

2010-02-01 11:22:09

C++虛函數(shù)

2023-12-18 11:15:03

2010-02-05 16:46:58

C++ TinyXml

2010-02-05 11:23:01

C++聲明語法

2010-01-28 14:04:35

C++鏈表

2023-12-13 10:51:49

C++函數(shù)模板編程

2010-02-02 17:39:31

C++構(gòu)造函數(shù)

2023-10-30 10:29:50

C++最小二乘法

2010-01-21 09:11:38

C++編譯器

2010-02-03 17:42:33

C++模板參數(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 成人在线视频免费观看 | 国产精品高潮呻吟久久aⅴ码 | 亚洲一区二区三区观看 | 亚洲欧美中文日韩在线v日本 | 日韩成人在线观看 | 国产精品一级 | 国产伦精品一区二区 | 久久九精品| 精品中文视频 | 狠狠入ady亚洲精品经典电影 | 无毛av| 91在线导航| 国产精品一区二区欧美 | 九九热在线免费观看 | 99久久99| 欧美成年黄网站色视频 | 免费av直接看 | 特级生活片 | 日韩一区二区三区精品 | 精品一区二区三区四区五区 | 婷婷一级片 | 香蕉久久网 | 少妇特黄a一区二区三区88av | 在线91| 久久这里只有 | 日韩av一区二区在线 | 欧美a免费 | 久久精品欧美一区二区三区麻豆 | 国产一区二区免费在线 | 综合久久久久 | 国产成人一区二区三区久久久 | 亚洲国产成人久久久 | 成人免费看片 | 成人国产精品免费观看视频 | 91看国产 | 国产成人一区二区三区久久久 | 日韩午夜场 | 精品91视频 | 亚洲欧美日韩电影 | 日韩电影中文字幕 | 欧美性乱 |