请各位高手进来看看
仔细阅读 说明以下代码的实现功能
代码段A:
/* */
unsined short function(unsigned char *gpszCrr)
{
unsied char *ipCh;
unsined short iusMaxLen;
for(ipCh=(byte *)gpszCrr, iusMaxlen=65535;) ((*ipCh !='\n') && (iusMaxlen>0)); ipCh++, iusMaxlen--);
return (ipCh - gpszCrr);
}
代码段B:
void CExample::Process(unsigned int nLength, char *pszSource, char *pszDset)
{
short nTemp;
int i,j;
char szBuff[30];
for(i=0; i<nLength; i++)
{
nTemp=pszSource[i];
nTemp= (nTemp>>4)& 0x000f;
if(nTemp<10)
pszDset[2*i] = nTemp + '0';
else pszDset[2*i] ='';
nTemp = pszSource[i] & 0x000f;
}
pszDset[2*i] = '\0';
strcpy(szBuff, pszDset);
nLength = nLength*2;
i=j=0;
for(i=0; i<nLength; i++)
if(szBuff[i] != '')
pszDset[j++] = szBuff[i];
pszDset[j]='\0';
}
代码段C:
void process (char* elem, int l, int r)
{
int i=l, j=r;
char* a=&elem[l];
while(i<j)
{
while(i<j && *a<elem[j])
j--;
if(i<j)
{
elem[i] = elem[j];
i++;
}
while(i<j && elem[i]<*a)
i++;
if(i<j)
{
elem[j] = elem[i];
j--;
}
}
elem[i]=*a;
if(l<i)
process(elem, l, i-l);
if(i<r)
process(elem, j+1, r);
}
代码段D:
#include<iostream>
#include<deque>
#include<algorithm>
using namespace std;
void print(int elem)
{
cout<<elem<<'';
}
int main()
{
deque<int>coll;
for(int i=l; i<=9; ++i)
coll.push_back(i);
deque<int>::iterator pos2;
pos2 = find(coll.begin(),coll.end(),7);
for_each(posl, pos2,print);
cout<<endl;
deque<int>::reverse_iterator rpos1(pos1);
deque<int>::reverse_iterator rpos2(pos2);
for_each(rpos2, rpos1, print);
cout<<endl;
}