部分匹配算法
来源:互联网 发布:埃文斯新秀赛季数据 编辑:程序博客网 时间:2024/06/05 01:10
/*部分匹配num*/
BYTE CSubData::SubDataMatchByCallingNum(BYTE *callingnum, WORD *pwPos)
{
int wFront, wRear,wPos;
int wNextFindPos;
int matchCount = 0;
char sTmpNum[BCD_MAX*2+1];
char sCompNum[BCD_MAX*2+1];
BYTE tmpnum[BCD_MAX];/*BCD 格式*/
CString sNum;
BCD2Str(sTmpNum,callingnum,BCD_MAX);
sNum=(CString)sTmpNum;
WORD wLen=(WORD)sNum.GetLength();
if(m_wSubDataCount == 0)
return FALSE;
for (int i = 0 ; i < wLen ; i++)
{
memset((void *)sCompNum,(int)0,BCD_MAX*2+1);
memcpy(sCompNum,sTmpNum,wLen-i);
memset(tmpnum,int(0),sizeof(BCD_MAX));
AfxStr2BCD(tmpnum,sCompNum,BCD_MAX);
wFront = 0;
wRear = m_wSubDataCount - 1;
wPos = wFront;
wNextFindPos = wPos;
while(wFront <= wRear)
{
wCycleCount ++;
wPos = (wFront + wRear) >> 1;
if (MatchingNum(tmpnum,m_SubDataUnit[wPos].callingnum) == 0)
{
//modify by cx 08/06/23
wNextFindPos=(WORD)wPos;
while ((wPos<=wRear)&&(matchCount<=MAX_MATCH_COUNT))
{
/*wNextFindPos=(WORD)wPos; //找到第一个匹配的号码后,继续找到一个不匹配的号码的前一匹配号码,即是最大的匹配号码
wPos = wPos+1;
if (MatchingNum(tmpnum,m_SubDataUnit[wPos].callingnum)!=0)
{
break;
}*/
matchCount = matchCount + 1;
wPos = wPos+1;
//找到第一个匹配的号码后,继续找到下一个匹配的号码,直到达到上限,此时匹配号码视为最大匹配号码
if (MatchingNum(tmpnum,m_SubDataUnit[wPos].callingnum) == 0)
{
wNextFindPos=(WORD)wPos;
}
}
*pwPos = (WORD)wNextFindPos;
return TRUE;
}
if ((wRear-wFront)==1) //当队头和队尾只差1时,队尾也要比较,否则有可能数据匹配不到。2004/05/22 llj
{
if (MatchingNum(tmpnum,m_SubDataUnit[wRear].callingnum)==0)
{
*pwPos = (WORD)wRear;
return TRUE;
}
}
if (MatchingNum(tmpnum,m_SubDataUnit[wPos].callingnum) > 0)
{
wFront = wPos + 1;
}
else
{
wRear = wPos - 1;
}
}
} //end for
return FALSE;
}
- 部分匹配算法
- 模式匹配,KMP 算法精华部分
- KMP算法之部分匹配值计算
- KMP算法之部分匹配值计算
- 串的模式匹配算法之KMP算法[部分转载]
- KMP算法部分匹配值计算-Java实现
- KMP(2)-KMP算法原理与匹配部分.
- KMP算法的部分匹配值的计算
- 字符串匹配的KMP算法(部分匹配表:前缀---后缀)
- 匹配部分url
- 匹配算法
- 匹配算法
- 匹配算法
- 算法实现字符串匹配问题:从三个字符串中找出共有的最长部分。
- 部分算法
- 算法 字符串匹配算法
- 二分图匹配 关键部分
- grep 仅显示匹配部分
- 《纽约时报》:互联网新一轮品牌争夺战到来
- 英特尔处理器存漏洞,可被利用攻击任何系统
- 初用MySQL
- 在Tomcat中配置DBCP数据库连接池
- 企业应用架构模式学习笔记
- 部分匹配算法
- 状元的产生
- 08-09-01
- ArrayCollection与Array的区别
- 看过的好电影+要看的好电影
- 历史重现,德国海关突袭IFA大展
- 在VC中编译、运行程序的小知识点
- AJAX开源效果网址
- 大学快要毕业 -------------------------------大学四年后明白的100个问题