我需要一个循环的帮助,如果新添加的值低于现有值,那么这个循环将会移动数组的元素,所以当数组被输入新值。当数组输入到数组时,对数组进行排序
该数组是空的开始。
我已经尝试了几个循环,但他们似乎并没有在我的情况下工作,因为它们是用于已经满的数组的循环。
这是我现在的代码。
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是向上移动索引。
提示,以了解该代码的问题是什么;我们需要了解你如何设置整个事情。索引/计数如何获得它们的值?看到索引在某些情况下可能<0,真是令人困惑?! – GhostCat