我的希尔排序前两个数据顺序偶尔有问题,但我没找到问题啊
来源:2-7 更多关于O(n^2)排序算法的思考
慕UI4716311
2019-01-17
template
void ShellSort(T arr[],int n) {
int i,index;
int interval=n/2;
while(interval>0) {
for(i=0; i<n-interval; i++) {
for(index=i; index+interval<n; index+=interval) {
if(arr[index]>arr[index+interval]) {
swap(arr[index],arr[index+interval]);
}
}
}
interval/=2;
}
}
写回答
1回答
-
你的内层循环不是插入排序,而是冒泡排序:)
我在课程的补充代码中提供了一个希尔排序的源码,有兴趣可以参考:)
加油:)
282019-01-18
相似问题