关于shell排序的有关问题

关于shell排序的问题这是代码:voidsort(intarr[],intn){inti,jinttempinth//步长for(hn/2h 0h/2){

关于shell排序的问题
这是代码:
void   sort(int   arr[],   int   n)
{
    int   i   ,j;
    int   temp;
    int   h;//   步长

    for   (   h=n/2   ;   h> 0   ;   h/=2   )
    {
        for   (   i=h   ;   i <n   ;   i++   )
        {
            if   (   arr[i]   <   arr[i-h]   )
            {
                temp   =   arr[j];
                for   (   j=i-h   ;   j> =0   &&   arr[j]> temp   ;   j-=h   )
                {
                    arr[j+h]   =   arr[j];
                }
                arr[j+h]   =   temp;
              }
          }
    }
}

        运行之后,发生内存泄漏,不知道问题出现在什么地方,请高手指教!


[解决办法]
在vs 2003下运行,一切正常.