C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C ++のベクトルの最後の要素(アクセスと更新)


この記事では、C++でベクトルの最後の要素にアクセスして更新する方法について説明します。

ベクターテンプレートとは何ですか?

ベクトルは、サイズが動的に変更されるシーケンスコンテナです。コンテナは、同じタイプのデータを保持するオブジェクトです。シーケンスコンテナは、要素を厳密に線形シーケンスで格納します。

ベクトルコンテナは、要素を連続したメモリ位置に格納し、添え字演算子[]を使用して任意の要素に直接アクセスできるようにします。配列とは異なり、ベクトルのサイズは動的です。ベクトルの保存は自動的に処理されます。

ベクトルの定義

Template <class T, class Alloc = allocator<T>> class vector;

ベクトルのパラメータ

この関数は、次のパラメーターを受け入れます-

  • T −これは含まれている要素のタイプです。

  • 割り当て −これはアロケータオブジェクトのタイプです。

ベクトルの最後の要素にアクセスするにはどうすればよいですか?

ベクトルの最後の要素にアクセスするには、次の2つの方法を使用できます。

back()関数の使用

#include <bits/stdc++.h>
using namespace std;
int main(){
   vector<int> vec = {11, 22, 33, 44, 55};
   cout<<"Elements in the vector before updating: ";
   for(auto i = vec.begin(); i!= vec.end(); ++i){
      cout << *i << " ";
   }
   // call back() for fetching last element
   cout<<"\nLast element in vector is: "<<vec.back();
   vec.back() = 66;
   cout<<"\nElements in the vector before updating: ";
   for(auto i = vec.begin(); i!= vec.end(); ++i){
      cout << *i << " ";
   }
   return 0;
}
出力

上記のコードを実行すると、次の出力が生成されます-

Elements in the vector before updating: 11 22 33 44 55
Last element in vector is: 55
Elements in the vector before updating: 11 22 33 44 66

size()関数の使用

#include <bits/stdc++.h>
using namespace std;
int main(){
   vector<int> vec = {11, 22, 33, 44, 55};
   cout<<"Elements in the vector before updating: ";
   for(auto i = vec.begin(); i!= vec.end(); ++i){
      cout << *i << " ";
   }
   // call size() for fetching last element
   int last = vec.size();
   cout<<"\nLast element in vector is: "<<vec[last-1];
   vec[last-1] = 66;
   cout<<"\nElements in the vector before updating: ";
   for(auto i = vec.begin(); i!= vec.end(); ++i){
      cout << *i <<" ";
   }
   return 0;
}
出力

上記のコードを実行すると、次の出力が生成されます-

Elements in the vector before updating: 11 22 33 44 55
Last element in vector is: 55
Elements in the vector before updating: 11 22 33 44 66

  1. C++STLのvector::begin()およびvector ::end()

    vector ::begin()関数は、コンテナの最初の要素を指すイテレータを返すために使用される双方向イテレータです。 vector ::end()関数は、コンテナの最後の要素を指すイテレータを返すために使用される双方向イテレータです。 アルゴリズム Begin    Initialize the vector v.    Declare the vector v1 and iterator it to the vector.    Insert the elements of the vector.    P

  2. C++でのベクトルの並べ替え

    C ++でのベクトルの並べ替えは、std ::sort()を使用して実行できます。 ヘッダーで定義されています。安定したソートを取得するには、std::stable_sortを使用します。これはsort()とまったく同じですが、等しい要素の相対的な順序を維持します。必要に応じて、Quicksort()、mergesort()も使用できます。 アルゴリズム Begin    Decalre v of vector type.       Initialize some values into v in array pattern.