19行的for没有加大括号
而且我没明白,你是按照逆序排序,还是把 m开始的n个数倒置
有几个问题需要注意的:
1、参数命名:都用什么m,n,a这些其他人看你的代码会非常痛苦的;
2、异常判断:既然封装就意味着被调用,那么适当的差错判断是要有的;
3、优化:内存允许的情况下可以新增一些临时变量节省CPU的运算,
通过局部化一些逻辑定义还可引入一些特定的优化方式;
int invert(int* pData,int startPos,int size)
{
if((NULL==pData) || (0>startPos) || (0>size))
return -1;
int* pHead=pData+startPos;
if(NULL==(pHead+size-1))
return -1;
int invSize=size>>1;
//此处可以用OMP优化
for(int i=0;i<invSize;i++)
{
int temp=(pHead+i);
int pBottom=pHead+size-i-1;
*(pHead+i)=*pBottom;
*pBottom=temp;
}
return 0;
}