工作六个月,昨日转正。把我写的一些算法函数放在这里,方便自己查阅。
CString FinalJudge(CString str,int head )
{
CString Final = str;
CString Judge;
CString Jhead;
int len = Final.GetLength( );
CString JAone = Jhead.Format("%d", head + 1 );
CString JAtwo = Jhead.Format("%d", head + 2 );
for( int i = 0 ; i < len - 2; i = i + 2)
{
if( Final[ i ] == JAone[ 0 ] && Final[ i + 1 ] == JAone[ 1 ] && Final[ i + 2 ] == JAone[
0 ] && Final[ i + 3 ] == JAone[ 1 ] )
{
Judge += Jhead.Format("%d", head );
i = i + 2 ;
}
else if( Final[ i ] == JAone[ 0 ] && Final[ i + 1 ] == JAone[ 0 ] && Final[ i + 2 ] ==
JAtwo[ 0 ] && Final[ i + 3 ] == JAtwo[ 1 ] )
{
Judge += Jhead.Format("%d", head + 1 );
i = i + 2 ;
}
else
{
Judge += Final[ i ];
Judge += Final[ i + 1 ];
}
}
Judge += Final[ Final.GetLength() - 2 ];
Judge += Final[ Final.GetLength() - 1 ];
return Judge;
}
这个算法是用来处理需要数据转换的函数
比如当一个字符串要求出现55的时候 要转换成5656 , 出现56的时候转换成5657 。这个问题比较常见,所以在传入的时候,我可以自定义head。