【发布时间】:2016-10-02 19:21:58
【问题描述】:
如果新添加的值低于现有值,我需要一个循环来移动数组的元素,因此在输入新值时对数组进行排序。
数组一开始是空的。
我尝试了几个循环,但在我的情况下它们似乎不起作用,因为它们是用于已经满的数组的循环。
这是我目前拥有的代码。
if(index < 0)
index = -(index + 1);
if(arr[index] > key)
for(int i = 0; i < count -1; i++) {
arr[index + i] = arr[index + i + 1];
}
arr[index] = key;
索引来自二进制搜索。
例如,如果我先输入 80,它将占用arr[0] 的插槽。然后我输入45,同样会占用arr[0]的槽。
由于45,key,小于现有的arr[0](80),80是向上移动一个索引。
【问题讨论】:
-
提示了解您在该代码中的问题是什么;我们需要了解您如何设置整个事情。索引/计数如何获得它们的值?!看到索引在某些情况下可能