我需要功能(没有实现,只是基本的想法)
int add(int * array, , const int len, const int val);
返回索引,其中存储了新元素(val)。 排序算法是可选的,但我需要存储新元素的位置。
不幸的是我无法使用STD。 元素可以有重复。
修改
目前的情况是我将新元素添加到最后一个点,然后我运行排序算法。因此在排序期间索引会丢失。
答案 0 :(得分:1)
如果您的数组已经排序,请使用插入排序。 插入排序将为您的新项目提供更少复杂性的正确位置。
否则 您可以对阵列中的新项目使用二进制搜索,以在阵列中找到正确的位置。 之后,将所有其他元素转移到新项目的位置。