void Partition(int*Data,int low, int high, int& pivotpoint, int& CompareCount)
{
int i ,j;
// low is pivot ...
int pivotitem = Data[low];
j= low;
for(i=low+1; i<=high;i++)
{
//data<pivot -> to low position
if(Data[i] <pivotitem)
{
j++;
int k = Data[i];
Data[i] = Data[j];
Data[j] = k;
}
CompareCount++;
}
//move pivot ,pivot position
pivotpoint = j;
int k = Data[j];
Data[j]=Data[low];
Data[low] = k;
}
这里
我认为使用&#39;&amp;&#39;是对的。
但它没有编译。
这是错误和警告
错误:在'&amp;'标记之前预期';',','或')' 警告:文件末尾没有换行符
我不知道为什么会发生这种情况〜
答案 0 :(得分:1)
在C中,没有通过引用调用,只有按值调用。移除&
并放置*
。
void Partition(int *Data, int low, int high, int *pivotpoint, int *CompareCount){...}
答案 1 :(得分:1)
通过引用传递,int&
是纯C ++,在C中不可用。