关于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下运行,一切正常.
