我是c ++的初学者。有人让我知道如何插入元素,同时保持STL :: vector的排序顺序(没有内置的排序()函数)
我遇到了分段错误。
请在下面找到我的代码:
代码:
int main()
{
vector<int> k;
k.insert(k.begin(), 2);
k.insert(k.begin(), 1);
k.insert(k.begin(), 38);
k.insert(k.begin(), 4);
k.insert(k.begin(), 50);
int s = rand() % 40;
for (auto p = k.begin(); p != k.end(); p++)
{
if (s > *p)
{
auto m = k.begin()++;
k.insert(m, s);
}
else
{
k.insert(k.begin(), s);
}
}
for (auto p = k.begin(); p != k.end(); p++)
{
cout << *p << " ";
}
}