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
廣告