最近在學
vc++
#include
"stdafx.h"
#include
#include
#define
max_size 1000
//--------------------------
串的模式匹配-----------------------------
//功能:找出str2字串在str1字串中第一次出現的位置(不包括串結束符)
//返回:該位置的序號
//
//環境:visual c++ 2008
//注意:1.此為樸素的模式匹配演算法,演算法在最好情況下,時間複雜度為o(m+n)
//其中m為子串(模式串)長度,n為主串長度
//2.
有一缺點:只能返回第乙個匹配的定位位置
intistrfind(char *str1,const
char *str2) //
查詢
if(flag==1&&j==str2_len)
//兩者都成立,才說明相等
return i;
}
return -1;
} //功能:將line字串的from字串替換為to字串,只替換第乙個
//返回:成功返回1,失敗返回0
//
//環境:visual c++ 2008
//注意:
intireplace(char * line,const
char * from,const
char * to)
//功能:將line字串的全部from字串都替換為to字串
//返回:成功返回替換的個數
//
//環境:visual c++ 2008
//注意:
intireplaceall(char * line,const
char * from,const
char * to) //
替換所有
intmain()
串的模式匹配
以前每次看到字串匹配,一律跳過,今天耐著性子研究了下,依舊是半混沌狀態,先整理放在這,以備後用。這篇文章幫助很大,樸素匹配演算法 kmp演算法,收藏先。1.樸素匹配演算法 int patternmatch common const char pstring,const char ppattern i...
串的模式匹配
子串的定位操作通常稱作串的模式匹配。index s,t,pos t被稱為模式串。直觀演算法 int index string s,string t,int pos else if j lent return i lent else return 0 直觀演算法很簡單,如果字串中當個字元匹配,主串指標...
串的模式匹配
問題描述 對於兩個字串a,b。請設計乙個高效演算法,找到b在a中第一次出現的起始位置。若b未在a中出現,則返回 1。給定兩個字串a和b,及它們的長度lena和lenb,請返回題目所求的答案。測試樣例 acbc 4,bc 2 返回 2 思路 1,該型別題目的一般思路是暴力求解,採用兩層迴圈,我們會從a...