以下是从梳子排序中摘录的内容。 https://en.wikipedia.org/wiki/Comb_sort 我想用浮点算术中的收缩来划分差距,然后将结果舍入到int值。我该怎么做?
int gap = array.length - 1;
double shrink = 1.3f;
我试着在下面做
gap = Math.floor(((double) gap) / shrink);
但编译器抱怨无法从double转换为int。
如果我在下面这样做,可能会截断但不是圆形。
gap =(int) Math.floor(((double) gap) / shrink);
是否有任何函数将int与浮点算术中的双精度分开并将结果舍入到int。我该如何实现这一目标? 我假设梳子的作者对我试图做的事情有同感吗? 如果这是正确的,为什么不能通过缩小某个int值而不是浮点数来划分,有什么意义呢?