一个函数,请大侠帮小弟我看看,这个函数到底是怎样实现文件比较功能的

一个函数,请大侠帮我看看,这个函数到底是怎样实现文件比较功能的?
int CComp::Comp()
{
//If   m_nLenA   =   0,   return   m_nLenB   and   exit.
if(   m_nLenA   ==   0   )   //m_nLenA为其中一个文件的大小
return(m_nLenB);

//If   m_nLenB   =   0,   return   m_nLenA   and   exit.
if(   m_nLenB   ==   0   )   //m_nLenA为另一个文件的大小
return(m_nLenA);

WORD wResultOld_DH[_MAX_LEN] = {0};
WORD wResultNew_DH[_MAX_LEN] = {0};
WORD wPos1,   wPos2,   wPos3,   wCost;
int nX,   nY;

// char szBuff[256];

for(   nY=0;   nY <=m_nLenB;   nY++   )
{
wResultOld_DH[nY] = nY;
}

for(   nX=1;   nX <=m_nLenA;   nX++   )
{
wResultNew_DH[0] = nX;
for(   nY=1;   nY <=m_nLenB;   nY++   )
{
//Calc   d[i-1,j]   +   1.
wPos1 = wResultOld_DH[nY]+1;

//Calc   d[i,j-1]   +   1.
wPos2 = wResultNew_DH[nY-1]+1;

//Calc   cost.
if(   m_wszStrA[nX-1]==m_wszStrB[nY-1]   )
wCost = 0;
else
wCost = 1;

//Calc   d[i-1,j-1]   +   cost.
wPos3 = wResultOld_DH[nY-1]   +   wCost;

//Comp
if(   wPos1   <   wPos2   &&   wPos1 <   wPos3   )
{
wResultNew_DH[nY] = wPos1;
}
else if(   wPos2   <   wPos1   &&   wPos2 <   wPos3   )
{
wResultNew_DH[nY] = wPos2;
}
else
{
wResultNew_DH[nY] = wPos3;
}
}
memcpy(   wResultOld_DH,   wResultNew_DH,   sizeof(WORD)*_MAX_LEN   );
}

return(   wResultNew_DH[m_nLenB]   );//函数返回不同字符个数
}

------解决方案--------------------
先比较大小,再比较内容
------解决方案--------------------
没看明白,只有写代码的人才明白了。
比较文件有这么麻烦吗?
------解决方案--------------------
看别人注释的算法程序,头大,