在函数中获取排序的数组和值并将该值放在正确的位置

时间:2013-12-13 21:41:32

标签: c++ c arrays sorting pointers

我在这个特定问题上遇到问题,请用简单的c ++指导我。在一个函数中,我们必须取两个参数,一个是排序数组,另一个是值,函数应该将该值放在正确的位置,以便数组保持排序顺序。会有一个指针的使用,但我在这个问题中困惑只是指导我如何利用这个特定问题中的指针。如果你向我提供有关其工作原理的样本会更好。提前谢谢。

1 个答案:

答案 0 :(得分:2)

似乎微不足道:

template <typename T>
int insert(T* array, int size, T const& value) {
    T* position = std::upper_bound(array, array + size, value);
    std::rotate(position, array + size, array + size + 1);
    *position = value;
    return size + 1;
}