C++ vector::push_back() 函数



C++ `vector::push_back()` 函数用于从向量的末尾添加元素。当向向量中添加最终或当前元素时,任何新元素都将添加到向量的末尾,从而使向量的尺寸增加一。`push_back()` 函数的时间复杂度为常数。

如果没有向量,则无法使用 `push_back()` 函数;它严重依赖于标准库和向量来操作数组的元素。`push_back()` 函数只是将一个值压入向量中;它没有返回类型。如果使用了 `push_back()` 函数,则成员函数不会抛出任何异常。

语法

以下是 C++ `vector::push_back()` 函数的语法:

void push_back (const value_type& val);
void push_back (value_type&& val);

参数

val − 表示要插入到末尾的值。

示例 1

让我们考虑以下示例,我们将使用 `push_back()` 函数。

#include <iostream>
#include <vector>
using namespace std;

int main(void) {
   vector<int> v;
   for (int i = 0; i < 5; ++i)
      v.push_back(i + 1);
   for (int i = 0; i < v.size(); ++i)
      cout << v[i] << endl;
   return 0;
} 

输出

编译并运行上述程序后,将产生以下结果:

1
2
3
4
5

示例 2

考虑另一种情况,我们将采用字符串类型并在向量的末尾添加多个元素。

#include <iostream>
#include <vector>
using namespace std;

int main(){
   vector<string> benz = {"G-class", "C-class", "GLA"};
   cout << "before push_back():\n";
   for(int i = 0; i < benz.size(); ++i)
      cout << benz[i] << " ";
   cout << "\n";
   benz.push_back("GLS Maybach");
   benz.push_back("Maybach S-class");
   cout << "before push_back():\n";
   for(int i = 0; i < benz.size(); ++i)
      cout << benz[i] << " ";
   cout << "\n";
   return 0;
}

输出

运行上述程序后,将产生以下结果:

before push_back():
G-class C-class GLA 
before push_back():
G-class C-class GLA GLS Maybach Maybach S-class 

示例 3

在以下示例中,我们将根据条件将元素添加到向量中。

#include <iostream>
#include <vector>
using namespace std;

void display_vector(vector<int> tutorial){
   for(auto abc = tutorial.begin(); abc != tutorial.end() ; abc++)
      cout << *abc << " ";
   cout << "\n";
}
int main (){
   vector<int> myvector;
   int myArray[10] = {9,18,27,36,45,56,63,72,81,90};
   for (int i=0; i < 10; i++) {
      if(myArray[i] < 18 || myArray[i] > 56)
      myvector.push_back (myArray[i]);
   }
   cout << "Result : " << endl;
   display_vector(myvector);
   return 0;
} 

输出

执行上述程序后,将产生以下结果:

Result : 
9 63 72 81 90

示例 4

以下是一个示例,我们将增加向量的尺寸。

#include <iostream>
#include <vector>
using namespace std;

int main(){
   vector<int> myvector;
   cout << "Original size: " << myvector.size() << endl;
   myvector.push_back(111);
   myvector.push_back(222);
   myvector.push_back(333);
   cout << "After insertion Size: " << myvector.size();
   return 0;
}

输出

运行上述程序后,将产生以下结果:

Original size: 0
After insertion Size: 3
广告
© . All rights reserved.