【发布时间】:2021-01-27 14:58:20
【问题描述】:
此代码来自 geeksforgeeks
list<int> list1;
list1.assign(3, 2);
list<int>::iterator it = list1.begin();
advance(it, 2);
list1.insert(it, 5);
cout << "The list after inserting"
<< " 1 element using insert() is : ";
for (list<int>::iterator i = list1.begin();
i != list1.end();
i++)
cout << *i << " ";
cout << endl;
list1.insert(it, 2, 7);
cout << "The list after inserting"
<< " multiple elements "
<< "using insert() is : ";
for (list<int>::iterator i = list1.begin();
i != list1.end();
i++)
cout << *i << " ";
cout << endl;
它显示如下输出:-
The list after inserting 1 element using insert() is : 2 2 5 2
The list after inserting multiple elements using insert() is: 2 2 5 7 7 2
所以,我想在单个位置添加不同的值,而不是重复相同的值。这甚至可能吗? 用于在列表的第三个位置插入 1,3,7。
【问题讨论】:
-
看看过载 #5 here.
-
哦..所以我只需要制作另一个列表并使用 insert(position, list) ...谢谢!
-
你甚至不需要那个。试试
insert(position, {1,3,7})。 -
哦是的..对!谢谢!