在C ++ STL中列出insert()

给出的任务是显示STL中C ++中的功能列表insert()函数。

什么是STL中的列表

列表是允许在任何地方按顺序进行恒定时间插入和删除的容器。列表被实现为双链表。列表允许不连续的内存分配。与数组,向量和双端队列相比,列表在容器中的任何位置执行元素的插入提取和移动效果更好。在列表中,对元素的直接访问很慢,并且列表类似于forward_list,但是转发列表对象是单个链接列表,并且只能迭代转发。

什么是insert()

列表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