我需要功能(没有实现,只是基本想法)
int add(int * array, , const int len, const int val);
返回索引,其中存储新元素 ( val )。 排序算法是可选的,但我需要存储新元素的位置。
不幸的是我不能使用性病。 元素可以有重复项。
编辑:
目前的情况是我将新元素添加到最后一个位置,然后运行排序算法。所以排序的时候索引就丢失了。
最佳答案
如果数组已经排序,请使用插入排序。 插入排序将以较低的复杂性为您的新项目提供正确的位置。
其他 您可以对数组中的新项目使用二分搜索来找到数组中的正确位置。 之后移动所有其他元素以腾出新项目的位置。
关于c++ - c/c++ 获取添加到排序数组中的元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15245986/