C++ STL中的deque insert() 函数

C++ STL中的deque insert() 函数

deque::insert()函数是C++ STL中的内置函数,用于在deque中插入元素。插入(insert())函数可以通过以下三种方式使用:

  • 在位置 position处插入新元素 val ,从而扩展deque。
  • 在deque中插入 n个值为 val 的新元素,从而扩展deque。
  • 在范围 [first, last)中插入新元素,从而扩展deque。

语法:

deque_name.insert (iterator position, const value_type &val)
                or
deque_name.insert (iterator position, size_type n, const value_type &val)
                or
deque_name.insert (iterator position, InputIterator first, InputIterator last)

参数:

该函数接受以下四个参数:

  • position - 指定要插入元素/元素的位置。
  • val - 指定要分配给新插入的元素的值。
  • n - 指定要插入的元素数。每个元素都被初始化为 val 的副本。
  • first、last - 指定迭代器,指定要插入的元素范围。该范围包括first和last之间的所有元素,包括由first指向但未指向last的元素。

返回值:

该函数返回一个指向新插入元素中的第一个元素的迭代器。以下程序说明了上述函数:

程序1:

// CPP program to illustrate the
// deque::insert() function
// insert elements by iterator
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
 deque<int> dq = { 1, 2, 3, 4, 5 };
 
 deque<int>::iterator it = dq.begin();
 ++it;
 
 it = dq.insert(it, 10); // 1 10 2 3 4 5
 
 std::cout << "Deque contains:";
 for (it = dq.begin(); it != dq.end(); ++it)
  cout << ' ' << *it;
 cout << '\n';
 
 return 0;
}  

输出结果:

Deque contains: 1 10 2 3 4 5

时间复杂度: O(n)

辅助空间: O(1)

程序2:

// CPP program to illustrate the
// deque::insert() function
// program for second syntax
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
 deque<int> dq = { 1, 2, 3, 4, 5 };
 
 deque<int>::iterator it = dq.begin();
 
 // 0 0 1 2 3 4 5
 dq.insert(it, 2, 0);
 
 std::cout << "Deque contains:";
 
 for (it = dq.begin(); it != dq.end(); ++it)
  cout << ' ' << *it;
 cout << '\n';
 
 return 0;
}  

输出结果:

Deque contains: 0 0 1 23 4 5

时间复杂度: O(n)

辅助空间: O(1)

程序3:

// CPP program to illustrate the
// deque::insert() function
// program for third syntax
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
 deque<int> dq = { 1, 2, 3, 4, 5 };
 
 deque<int>::iterator it = dq.begin();
 
 int arr[] = { 6, 7, 8 };
 
 dq.insert(dq.begin() + 3, arr, arr + 3);
 
 std::cout << "Deque contains:";
 
 for (it = dq.begin(); it != dq.end(); ++it)
  cout << ' ' << *it;
 cout << '\n';
 
 return 0;
}  

输出结果:

Deque contains: 1 2 3 6 7 8 4 5

时间复杂度: O(n)

辅助空间: O(1)

// CPP程序,演示deque :: insert()函数
// 用于第三个语法的程序
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
 deque<int> dq = {1, 2, 3, 4, 5};

 deque<int> :: iterator it = dq.begin();
 ++it;

 vector<int> v(2, 10);

 // 1 10 10 2 3 4 5
 dq.insert(it, v.begin(), v.end());

 std :: cout << "双端队列包含:";
 for (it = dq.begin(); it!= dq.end(); ++it)
  cout <<' ' << * it;
 cout <<'\n';

 返回0;
}  

输出:

Deque contains: 1 10 10 2 3 4 5

时间复杂度: O(n)

辅助空间: O(1)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程