给出的任务是显示STL中C ++中的功能列表insert()函数。
列表是允许在任何地方按顺序进行恒定时间插入和删除的容器。列表被实现为双链表。列表允许不连续的内存分配。与数组,向量和双端队列相比,列表在容器中的任何位置执行元素的插入提取和移动效果更好。在列表中,对元素的直接访问很慢,并且列表类似于forward_list,但是转发列表对象是单个链接列表,并且只能迭代转发。
列表insert()函数用于在列表中插入元素。
该函数用于在指定位置插入元素。
该功能还用于在列表中插入元素的n号。
还可以使用在指定范围内插入元素。
insert(iterator position, const value_type& val) insert(iterator position, size_type n, const value_type& value) insert(iterator position, iterator first, iterator last)
Val-它指定要在列表中插入的新元素。
位置-指定容器中插入新元素的位置。
n-要插入的元素数。
首先,最后-指定迭代器,该迭代器指定要插入的元素范围。
它返回指向新插入元素的第一个的迭代器。
例
输入列表-50 60 80 90
输出新列表-50 60 70 80 90
输入列表-TREND
输出新列表-趋势
首先我们声明列表
然后我们打印列表。
然后我们声明insert()函数。
通过使用上述方法,我们可以在列表中插入新元素。新元素应具有与列表相同的数据类型。
/ / C++ code to demonstrate the working of list insert( ) function in STL #include<iostream.h> #include<list.h> Using namespace std; int main ( ){ List<int> list = { 55, 84, 38, 66, 67 }; / / print the deque cout<< “ List: “; for( auto x = List.begin( ); x != List.end( ); ++x) cout<< *x << “ “; / / declaring insert( ) function list.insert( x, 6); / / printing new list after inserting new element cout<< “New list “; for( x=list.begin( ); x != list.end( ); ++x) cout<< “ “<<*x; return 0; }
输出结果
如果我们运行上面的代码,那么它将生成以下输出
Input - List: 55 84 38 66 67 Output - New List: 6 84 38 66 67
/ / C++ code to demonstrate the working of list insert( ) function in STL #include<iostream.h> #include<list.h> Using namespace std; int main( ){ List<char> list ={ ‘F’, ‘B’, ‘U’, ‘A’, ‘R’, ‘Y’ }; cout<< “ List: “; for( auto x = list.begin( ); x != list.end( ); ++x) cout<< *x << “ “; / / declaring insert( ) function list.insert(x + 1, 1, ‘E’); / / printing new list after inserting new element cout<< “ New List:”; for( auto x = list.begin( ); x != list.end( ); ++x) cout<< “ “ <<*x; return 0; }
输出结果
如果我们运行上面的代码,那么它将生成以下输出
Input – List: F B U A R Y Output – New List: F E B U A R Y
/ / C++ code to demonstrate the working of list insert( ) function in STL #include<iostream.h> #include<list.h> #include<vector.h> Using namespace std; int main( ){ list<int> list ={ 10, 44, 34, 98, 15 }; cout<< “ list: “; for( auto x = list.begin( ); x != list.end( ); ++x) cout<< *x << “ “; vector<int> l(2, 17); list.insert(x, l.begin( ), l.end( ) ); / / printing new list after inserting new element cout<< “ New list:”; for( auto x = list.begin( ); x != list.end( ); ++x) cout<< “ “ <<*x; return 0; }
输出结果
如果我们运行上面的代码,那么它将生成以下输出
Input – List: 10 44 34 98 15 Output – New list: 17 17 10 44 34 98 15