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

C++での配列に対するベクトルの利点


ここでは、C++の配列に対するベクトルの長所と短所をいくつか見ていきます。

  • ベクトルはテンプレートクラスです。これはC++のみの構造です。配列は組み込みの言語構造です。配列はさまざまな言語で存在します。

  • ベクトルはリストインターフェイスを備えた動的配列として実装され、配列はプリミティブデータ型を使用した静的または動的な方法を使用して実装できます。

#include<iostream>
#include<vector>
using namespace std;
int main() {
   int array[10]; //statically allocated array
   int* arr = new int[10]; //dynamically allocated array
   vector<int> vec;
}
  • 配列サイズは固定されています。 1つの配列を作成する場合、サイズを変更することはできません。ベクトルのサイズは動的です。新しい要素を追加した場合、その場所が利用できない場合は、その場所用の新しいスペースといくつかの追加スペースが作成されます。

  • アレイが動的に割り当てられる場合は、手動で割り当てを解除する必要があります。ただし、ベクターでは、割り当てを解除する必要はなく、自動的に割り当てを解除します。

#include<iostream>
#include<vector>
using namespace std;
int main() {
   int* arr = new int[10]; //dynamically allocated array
   delete(arr); //deallocate manually
   vector<int> vec; //will be deallocated when variable is out of scope
}
  • 動的に割り当てられた配列のサイズを取得したい場合、サイズを簡単に取得することはできません。ベクトルの場合、一定時間でサイズを取得できます。

  • 関数パラメーターを使用して1つの配列を送信する場合は、サイズまたは長さの別の変数を送信する必要があります。ベクトルを送信する場合、他の変数を渡す必要はありません。

  • 動的に割り当てられた新しい配列を使用しない限り、1つの配列を返すことはできませんが、関数からベクトルを返すことはできます。


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

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

  2. C++での並べ替え

    このセクションでは、C++で並べ替えアルゴリズムを実行する方法を説明します。並べ替えられた配列は、各要素が数値、アルファベット順などの順序で並べ替えられた配列です。バブルソート、挿入ソート、選択ソート、マージソート、クイックソート、ヒープソートなど、数値配列をソートするための多くのアルゴリズムがあります。選択ソートを使用した配列のソートの詳細については、以下を参照してください。 選択ソートは、ソートされた配列を生成するソート方法です。これは、配列内の最小の要素を繰り返し見つけて、ソートされていない部分の先頭にある要素と交換することによって行われます。 選択ソートを使用してソートされた配列を