-5

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

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

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

不幸的是,我不能使用 STD。元素可以有重复项。

编辑:

目前的情况是我将新元素添加到最后一个位置,然后我运行排序算法。所以在排序过程中索引会丢失。

4

1 回答 1

1

如果您的 Array 已经排序,请使用插入排序。插入排序将以较低的复杂性为您的新项目提供正确的位置。

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

于 2013-03-06T12:29:30.690 回答