C++中insert()实现矢量插入

489 阅读4分钟

C++ vector insert

C++矢量插入的定义

C++向量insert()是一个用于向基于向量的容器中插入元素的函数,它还通过在一些指定的位置插入新的元素来扩展我们想要插入的元素,在向容器中插入新的元素时,容器的大小会自动增加。因此,它也会根据实际的矢量容量自动重新分配存储空间区域,所以矢量也会通过使用位置来重新定位元素,它有时会处理旧的和当前的位置,它也会因为容器大小的内存空间而抛出不足的错误。

语法

在C++中,每个对象、变量、关键字和函数都有自己的语法和属性,用于在编程代码中进行声明。根据要求,我们将利用编程库中的特殊关键字、变量、数据类型和函数。矢量insert()是矢量包库中的一个函数,它被用来计算用户输入到矢量容器中的插入量。

#include<iostream> #include<vector> data type main() { std:: vector<data type> object name size declaration; objectname.insert(parameters); ---some c++ code logics--- }

上述代码是创建矢量对象和调用插入方法插入矢量容器元素的基本语法。

矢量插入方法在C++中是如何工作的?

C++编程有N个保留的关键字,这些函数将从实际的命名空间和新的库中提供一定程度的抽象,程序员已经在使用这些函数,让它与更多的关注编码概念。它也使编程代码更容易编写,并使用一些方法如destroy()或任何其他属于垃圾收集的默认方法来清理它们,它是销毁不需要的代码和清理内存空间区域的主要区域。它取决于数据类型,必须计算对象的创建大小,它为大的存储数据类型的变量以及小量的存储变量分配内存空间。通常情况下,C++的声明、初始化和指令都是用某种内存空间分配给函数来存储在RAM中。函数声明和定义将是标准的协议类型,它带来了所有类型的成员,函数被计算到当前和未来的范围。

使用命名空间std::vector::insert(),它将通过使用在向量容器中的正确位置插入新元素来扩展向量。这些元素被插入到容器中。如果元素值被插入到更多的容器中,它会自动增加大小。它重新分配了内存空间,并将在容器中进行扩展。该函数将在内存空间区域内自动增加矢量容器。vector.insert(position, value)传递了两类参数,一类是位置,另一类是数值。position参数是一种类型,它指定了像迭代器一样的类型,它被指向容器内存栈上要插入元素的当前位置。然后是第二个类型,叫做value,指定将被插入到容器中的用户输入值。

矢量库有一组不同的预定义方法;基本上,它是在这些矢量容器中推送和弹出堆栈中的元素。另外,新的元素在位置区域的末尾被插入到向量中,也就是说,在最后一个和当前的元素被插入到容器中之后,如果容器满了,每一组元素被插入到向量中,其大小就会增加1。

C++向量插入的例子

下面是在C++中插入向量的不同例子

例1

代码

#include <vector> #include <iostream> using namespace std; int main(void) { vector <int> a; vector <int>::iterator i; a.push_back(19); a.push_back(106); a.push_back(72); a.push_back(53); cout<<"Welcome To My Domain:"; for(i = a.begin(); i != a.end(); i++) cout<<" "<<*i; cout<<endl; cout<<"\nThe vector elements are: a.insert(a.begin()+1, 106)"<<endl; a.insert(a.begin()+1, 106); cout<<"Have a Nice day user teh vectores are: "; for(i = a.begin(); i != a.end(); i++) cout<<" "<<*i; cout<<endl; cout<<"\nThe vector elements are: a.insert(a.begin()+2, 54, 53)"<<endl; a.insert(a.begin()+2, 54, 53); cout<<"Have a Nice day user teh vectores are: "; for(i = a.begin(); i != a.end(); i++) cout<<" "<<*i; cout<<endl; cout<<"\nThe vector elements are: a.insert(a.begin()+1, a.begin()+2, a.begin()+3)"<<endl; a.insert(a.begin()+1, a.begin()+2, a.begin()+3); cout<<"Have a Nice day user teh vectores are: "; for(i = a.begin(); i != a.end(); i++) cout<<" "<<*i; cout<<endl; return 0; }

输出

C++ vector insert Example 1

例2

代码

#include <iostream> #include <cmath> #include<vector> using namespace std; int main() { float m; m = -67; cout<<"abs("<<m<<"): "<<abs(m)<<endl; m = -676.5645; cout<<"abs("<<m<<"): "<<abs(m)<<endl; m = 7665.2456; cout<<"abs("<<m<<"): "<<abs(m)<<endl; m = -.67832; cout<<"abs("<<m<<"): "<<abs(m)<<endl; m = -.87892; cout<<"abs("<<m<<"): "<<abs(m)<<endl; m = -6767.25245; cout<<"abs("<<m<<"): "<<abs(m)<<endl; m = -.6527; cout<<"abs("<<m<<"): "<<abs(m)<<endl; vector<int> i = { 13, 23, 32, 43 }; vector<int> j; j.insert(j.begin(), i.begin(), i.end()); cout << "Welcome Users the vector elements are "; for (auto k = j.begin(); k != j.end(); ++k) cout << *k << "Have a Nice Day"; return 0; }

输出

C++ vector insert Example 2

例3

代码

#include <iostream> #include <vector> void demo(const std::vector<int>& a) { for (auto i: a) { std::cout << ' ' << i; } std::cout << '\n'; } int main () { std::vector<int> a(4,113); demo(a); auto b = a.begin(); b = a.insert(b, 200); demo(a); a.insert(b,5,273); demo(a); b = a.begin(); std::vector<int> j(6,366); a.insert(b+2, j.begin(), j.end()); demo(a); int k[] = { 432,543,654 }; a.insert(a.begin(), k, k+4); demo(a); }

输出

C++ vector insert Example 3

在上面的例子中,我们用vector.insert()方法以不同的方式将推拉到向量容器中。

总结

矢量包和C++的导入库有一组不同的内置函数,这些函数将在不同的领域使用。这些函数将主要用于在项目所需的区域内插入所需的元素,而内存区域也用于计算存储和检索数据。