當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ deque::assign和deque::back的區別用法及代碼示例


雙端隊列(Deque)或雙端隊列是序列容器,具有兩端擴展和收縮的特性。它們與向量類似,但在末尾和開頭插入和刪除元素的情況下效率更高。與向量不同,可能無法保證連續的存儲分配。

雙端隊列::分配

deque::assign 用於通過替換當前內容來將新內容分配給雙端隊列容器。它會相應地修改大小。

用法:

dequename.assign(<int> size, <int> val)

參數:

  1. size:它指定要分配給容器的值的數量。
  2. val:它指定要分配給容器的值。

返回值:None

迭代器有效性:在此容器中,所有迭代器、指針和引用均無效。

頭文件:

<deque>

例子:

C++


// C++ program to demonstrate deque::assign 
#include <deque> 
#include <iostream> 
using namespace std; 
  
// Driver code 
int main() 
{ 
    // Declaration of Deque 
    deque<int> one = { 7, 14, 21, 28, 35 }; 
    deque<int> two; 
  
    // Iterator for deque to traverse 
    deque<int>::iterator itr = two.begin(); 
  
    // Assigning  deque<int>one elements 
    // into deque<int>two 
    two.assign(one.begin(), one.end()); 
  
    cout << "Elements of deque<int>one are : "; 
    for (itr = one.begin(); itr != one.end(); ++itr) { 
        cout << *itr << " "; 
    } 
    cout << endl; 
    cout << "Elements of deque<int>two are : "; 
    for (itr = two.begin(); itr != two.end(); ++itr) { 
        cout << *itr << " "; 
    } 
  
    cout << endl; 
    return 0; 
}

輸出:

Elements of deque<int>one are : 7 14 21 28 35 
Elements of deque<int>two are : 7 14 21 28 35 

時間複雜度:O(N)

空間複雜度:O(N)

雙端隊列::返回

deque::back 用於返回對容器中最後一個元素的引用。它返回元素的直接引用。

用法:

deque_name.back()

Parameters: 它不帶任何參數

返回值:Deque::back 接受一個整數類型返回值

迭代器有效性:在此容器中,所有迭代器、指針和引用均無效。

頭文件:

<deque>

異常:如果容器為空,則會導致未定義的行為。

例子:

C++


// C++ program to demonstrate deque::back 
  
#include <deque> 
#include <iostream> 
using namespace std; 
  
// Driver code 
int main() 
{ 
    // Declaration of Deque 
    deque<int> GFG = { 10, 20, 30, 40, 50, 60 }; 
  
    int last_element = GFG.back(); 
    cout << "Last ELement is : " << last_element << endl; 
    return 0; 
}

輸出 -:

Last ELement is : 60

時間複雜度:O(1)

空間複雜度:O(1)

雙端隊列::分配與雙端隊列::返回

以下是 deque::assign 和 deque::back 之間的區別

基礎 雙端隊列::分配 雙端隊列::返回
Definition 它用於將新內容分配給雙端隊列容器,替換其當前內容。 它用於返回對容器中最後一個元素的引用。
Syntax dequename.assign(<int> size, <int> val); 雙端隊列名稱.back()
參數數量 它需要兩個參數 它不帶任何參數。
返回值 它沒有任何返回值。 它的返回值是Integer類型
Complexity Linear Constant


相關用法


注:本文由純淨天空篩選整理自mayank007rawa大神的英文原創作品 Difference Between deque::assign and deque::back in C++。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。