Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要功能(没有实现,只是基本的想法)
int add(int * array, , const int len, const int val);
这是返回索引,其中存储了新元素( val )。排序算法是可选的,但我需要存储新元素的位置。
不幸的是,我不能使用 STD。元素可以有重复项。
编辑:
目前的情况是我将新元素添加到最后一个位置,然后我运行排序算法。所以在排序过程中索引会丢失。
如果您的 Array 已经排序,请使用插入排序。插入排序将以较低的复杂性为您的新项目提供正确的位置。
否则,您可以对数组中的新项目使用二进制搜索来找到数组中的正确位置。之后转移所有其他元素以放置新项目。