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

标签 c++ c arrays sorting indexing

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

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

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

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

编辑:

目前的情况是我将新元素添加到最后一个位置,然后运行排序算法。所以排序的时候索引就丢失了。

最佳答案

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

其他 您可以对数组中的新项目使用二分搜索来找到数组中的正确位置。 之后移动所有其他元素以腾出新项目的位置。

关于c++ - c/c++ 获取添加到排序数组中的元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15245986/

相关文章:

C++ Boost 多索引类型识别

c - Xcode调试C语言出现错误: EXC_BAD_ACCESS (code=1)

python - 在Python中创建具有特定条件的矩阵

javascript - 添加到数组中的未定义值

.net - 如何将 COM 数组传递给托管代码?

c++ - WM_COPYDATA 数组与 vector

c++ - 当 C++ 断言失败时,如何自动创建小型转储?

c - MIPS 汇编 - 字符串到二进制表示

c++ - 查找文件中包含其本身及其反转的单词

php - 仍在尝试将 PHP 数组传递给 foreach 循环内的 JQuery 函数(进入 Bootstrap3 模式)