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