配列と呼ばれる線形順次データ構造は、同種のデータを一連のメモリ領域に保存するために使用されます。配列には、要素の挿入、削除、走査、および更新を行うための特定の機能が必要です他のデータ構造と同様に、事実上、C の配列は静的です。さらに、C では、いくつかの動的配列構造が提供されています。静的配列内に格納できる要素は最大 Z 個です。現在、要素は n 個あります。この記事では、C で 1 つの配列の要素を別の配列内にプッシュする方法を説明します。
概念を理解し、例で説明する
リーリー
上記の例では、2 つの配列 A と B があることは明らかです。 B を A にプッシュするということは、B のすべての要素を配列 A に挿入することを意味します。これらの要素は A の末尾に追加されます。しかし、これを達成するには、A の残りの空孔 (つまり、A の最大サイズから A の既存の要素の数を引いたもの) が B の要素の数と同じかそれより大きいかどうかを確認する必要があります。そうしないと、A に押し込むことができません。アルゴリズムと C 実装コードを見てみましょう。
###アルゴリズム###
配列 A と B を入力として取得し、A の要素数 n を入力として、B の要素数 m を入力として取得します
同じことをベクトルを使用して実行できます。ベクトルは、C STL に存在する動的配列です。ベクトルの使用を検討する場合、要素を挿入するときに使用可能なスペースを気にする必要はありません。ベクトルは動的であるため、必要に応じて新しいスロットが自動的に追加されます。アルゴリズムは使用可能なスロットのチェックと同じです。
###アルゴリズム###
配列 A と B を入力として取得し、A の要素数 n を入力として、B の要素数 m を入力として取得します
B の各要素 e に対して、
を実行します。
- e を配列 A に追加します
-
ループの終了 を返します
###例###
リーリー
###出力###
リーリー
- vector で insert() 関数を使用する
前の方法は手動プロセスでした。ただし、ベクター STL で insert()- 関数を使用すると、同じ機能を実現できます。
insert()
この関数は、位置ポインター (反復子を使用) と反復子を受け入れ、1 つのコンテナー オブジェクトから要素をコピーし、それを位置インデックスから別のコンテナー オブジェクトに挿入します。明確な見方を得るために、C の実装を見てみましょう。
###例###
リーリー
###出力###
リーリー
###結論###
この記事では、配列要素を別の配列の末尾に挿入またはプッシュするいくつかの異なる方法について説明しました。最初の例では、単純な C 配列を使用します。静的配列で使用できるスペースには特別な注意を払う必要があります。次の 2 つの方法では、必要に応じてスペースを自動的に割り当てる動的ベクトルを使用しているため、これについて心配する必要はありません。
以上が配列を別の配列にプッシュする C++ プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。