c / c ++获取添加到有序数组中的元素的索引

时间:2013-03-06 11:21:45

标签: c++ c arrays sorting indexing

我需要功能(没有实现,只是基本的想法)

int add(int * array, , const int len, const int val);

返回索引,其中存储了新元素(val)。 排序算法是可选的,但我需要存储新元素的位置。

不幸的是我无法使用STD。 元素可以有重复。

修改

目前的情况是我将新元素添加到最后一个点,然后我运行排序算法。因此在排序期间索引会丢失。

1 个答案:

答案 0 :(得分:1)

如果您的数组已经排序,请使用插入排序。  插入排序将为您的新项目提供更少复杂性的正确位置。

否则 您可以对阵列中的新项目使用二进制搜索,以在阵列中找到正确的位置。 之后,将所有其他元素转移到新项目的位置。