2
我试图在维基百科实现梳状排序的伪代码,但它似乎排序我给它的样本数组。有小费吗?梳状排序实现不准确排序,C++
void combSort(int* list, int length)
{
bool swapper;
int gap = length;
double shrink = 1.25;
int temp;
do{
gap = (int) gap/shrink;
if (gap < 1)
gap = 1;
swapper = false;
for (int i=0;(i+gap)<length;i++){
if (list[i] > list[i+gap]){
swap(list[i],list[i+gap]);
swapper = true;
}
}
}
while ((gap > 1) && (swapper == true));
}
如果你打算使用C++,为什么不在这里使用标准库容器,如'std :: array'或'std :: vector'?你在这里基本上是C代码。 – tadman
如果是C,交换功能可能不起作用。你需要通过引用传递,而不是价值。 – AShelly