工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C++ 標準テンプレート ライブラリ (STL) のベクトルと例

C++ ベクトルとは?

C++ ベクトル 自動的にサイズを変更できる動的配列です。サイズ変更は、要素がベクターに追加または削除された後に発生します。ストレージはコンテナーによって自動的に処理されます。ベクトルの要素は、連続したストレージに格納されます。これにより、C++ プログラマーは反復子を使用してベクトル要素にアクセスし、トラバースできます。

ベクターへの新しいデータの挿入は、その最後で行われます。これには時間がかかります。ベクトルから要素を削除するには、一定の時間がかかります。その理由は、ベクトルのサイズを変更する必要がないからです。ベクターの先頭での要素の挿入または削除には、直線的な時間がかかります。

この C++ チュートリアルでは、次のことを学びます:

ベクトルを使用する場合

C++ ベクトルは、次の状況で使用する必要があります:

C++ でベクトルを初期化する方法

C++ でのベクトルの構文は次のとおりです:

vector <data-type> name (items)

イテレータ

イテレータの目的は、ベクトルに格納されている要素にアクセスできるようにすることです。ポインターのように機能するオブジェクトです。 C++ ベクトルでサポートされている一般的な反復子は次のとおりです:

修飾子

修飾子は、指定されたデータ型の意味を変更するために使用されます。 C++ の一般的な修飾子は次のとおりです:

例 1

#include <iostream> 
#include <vector> 

using namespace std;
int main()
{
	vector<int> nums;

	for (int a = 1; a <= 5; a++)

		nums.push_back(a);

	cout << "Output from begin and end: ";

	for (auto a = nums.begin(); a != nums.end(); ++a)

		cout << *a << " ";

	cout << "\nOutput from cbegin and cend: ";

	for (auto a = nums.cbegin(); a != nums.cend(); ++a)

		cout << *a << " ";

	return 0;
}

出力:

コードのスクリーンショットは次のとおりです:

コードの説明:

<オール>
  • コードに iostream ヘッダー ファイルを含めます。これにより、コンソールから読み書きできるようになります。
  • ベクター ヘッダー ファイルをコードにインクルードします。これにより、C++ でベクトルを操作できるようになります。
  • std 名前空間を含めて、そのクラスと関数を呼び出さずに使用できるようにします。
  • プログラムのロジックを追加する main() 関数を呼び出します。
  • { は、main() 関数の本体の開始を示します。
  • 一連の整数を格納する nums という名前のベクトルを宣言します。
  • for ループを作成して、ベクトルを繰り返し処理できるようにします。この変数は、ベクトル要素を 1 st から繰り返し処理するのに役立ちます 5 まで
  • 後ろからベクトル num に要素をプッシュします。反復ごとに、変数 a の現在の値が 1 から 5 のベクトルに追加されます。
  • コンソールにテキストを表示
  • イテレータ変数 a を使用して、ベクトル nums の要素を最初から最後の要素まで繰り返し処理します。 vector::begin() と vector::end() イテレータを使用していることに注意してください。
  • 繰り返しごとに、イテレータ変数 an が指す値をコンソールに出力します。
  • コンソールにテキストを出力します。 \n は改行文字で、カーソルを改行に移動してそこから印刷します。
  • 反復子変数を使用して、ベクトル nums の要素を最初から最後の要素まで繰り返し処理します。 vector::cbegin() と vector::cend() イテレータを使用していることに注意してください。
  • 繰り返しごとに、イテレータ変数 a が指す値をコンソールに出力します。
  • プログラムが正常に実行された場合、メイン関数は値を返す必要があります。
  • main() 関数の本体の終わり。
  • 例 2

    #include <iostream>
    #include <vector> 
    
    using namespace std;
    int main()
    {
    	vector<int> nums;
    	
    	nums.assign(5, 1);
    
    	cout << "Vector contents: ";
    	for (int a = 0; a < nums.size(); a++)
    		cout << nums[a] << " ";
    
    	nums.push_back(2);
    	int n = nums.size();
    	cout << "\nLast element: " << nums[n - 1];
    
    	nums.pop_back();
    
    	cout << "\nVector contents: ";
    	for (int a = 0; a < nums.size(); a++)
    		cout << nums[a] << " ";
    
    	nums.insert(nums.begin(), 7);
    
    	cout << "\nFirst element: " << nums[0];
    	
    	nums.clear();
    	cout << "\nSize after clear(): " << nums.size();			
    }
    

    出力:

    コードのスクリーンショットは次のとおりです:

    コードの説明:

    <オール>
  • コードに iostream ヘッダー ファイルをインクルードして、その関数を使用します。
  • ベクター ヘッダー ファイルをコードにインクルードして、その関数を使用します。
  • std 名前空間を含めて、呼び出さずにそのクラスを使用します。
  • main() 関数を呼び出します。プログラム ロジックは、本体内に追加する必要があります。
  • main() 関数の本体の開始
  • いくつかの整数値を格納する nums という名前のベクトルを宣言します。
  • ベクトル nums に 5 つの要素を格納します。それぞれの値は 1 です。
  • コンソールにテキストを表示
  • 反復子変数 a を使用して、ベクトル nums の要素を反復処理します。
  • 反復ごとにベクトル数値の値をコンソールに出力します。
  • ベクトル nums の末尾に値 2 を追加します。
  • 整数変数 n を宣言して、ベクトル nums のサイズを格納します。
  • ベクトル数値の最後の値を他のテキストと一緒に出力します。 2 を返す必要があります。
  • ベクトル nums から最後の要素を削除します。 2 は削除されます。
  • コンソールにテキストを出力します。 \n は、カーソルを新しい行に移動して、そこにテキストを出力します。
  • 反復子変数 a を使用して、ベクトル nums の要素を反復処理します。
  • 反復ごとにベクトル数値の値をコンソールに出力します。
  • ベクトル nums の先頭に値 7 を挿入します。
  • ベクトル数値の最初の値を他のテキストと一緒に出力します。 7 を返す必要があります。
  • ベクトル nums からすべての要素を削除します。
  • すべての内容を消去した後、ベクトル num のサイズを他のテキストと一緒に出力します。 0 を返す必要があります。
  • main() 関数の本体の終わり。
  • 容量

    次の関数を使用して、ベクトルの容量を決定します:

    例 3

    #include <iostream> 
    #include <vector> 
    using namespace std;
    int main() {
    	vector<int> vector1;
    	for (int x = 1; x <= 10; x++)
    		vector1.push_back(x);
    	cout << "Vector size: " << vector1.size()<< endl;
    	cout << "Vector capacity: " << vector1.capacity() << endl;
    	cout << "Maximum size of vector: " << vector1.max_size()<< endl;
    	vector1.resize(5);
    	cout << "Vector size after resizing: " << vector1.size() << endl;
    	if (vector1.empty() == false)
    		cout << "Vector is not empty"<<endl;
    	else
    		cout << "Vector is empty"<<endl;
    	return 0;
    }
    

    出力:

    コードのスクリーンショットは次のとおりです:

    コードの説明:

    <オール>
  • コードに iostream ヘッダー ファイルをインクルードして、その関数を使用します。
  • ベクター ヘッダー ファイルをコードにインクルードして、その関数を使用します。
  • コードに std 名前空間を含めて、呼び出さずにそのクラスを使用します。
  • main() 関数を呼び出します。プログラム ロジックは、この関数の本体内に追加する必要があります。
  • 整数を格納する vector1 という名前のベクトルを作成します。
  • for ループを使用して、1 から 10 までの値を持つ変数 x を作成します。
  • 変数 x の値をベクトルにプッシュします。
  • コンソールの他のテキストと一緒にベクトルのサイズを出力します。
  • ベクトルの容量を他のテキストと一緒にコンソールに出力します。
  • ベクトルが保持できるアイテムの最大数をコンソールの他のテキストと一緒に出力します。
  • ベクトルのサイズを変更して、要素が 5 つだけになるようにします。
  • ベクターの新しいサイズを他のテキストと一緒に印刷します。
  • ベクトルが空でないかどうかを確認してください。
  • ベクトルが空でない場合、コンソールにテキストを出力します。
  • else ステートメントを使用して、ベクトルが空の場合に何をすべきかを記述します。
  • ベクトルが空の場合にコンソールに出力するテキスト
  • プログラムは、正常終了時に値を返さなければなりません。
  • main() 関数本体の終わり。
  • まとめ:


    C言語

    1. C 標準ライブラリ関数
    2. C++ の演算子と例:型とプログラムとは
    3. C++ do…while ループと例
    4. C++ Switch Case ステートメントと EXAMPLE
    5. 例による配列の C++ 動的割り当て
    6. C++ ポインタと例
    7. C++ 演算子のオーバーロードと例
    8. C++ 構造体と例
    9. C++ の std::list と例
    10. C++ 関数とプログラム例
    11. 構造体とクラスの違い:C++ の例で説明