配列とは
配列は、連続したメモリ位置に格納された同様のデータ型のデータのコレクションです。 データ型には、整数、浮動小数点数、文字列などがあります。配列は、データを簡単に並べ替えたり検索したりするためにコンピュータープログラミングで使用されます。 インデックスを作成することでデータを取得できます。 私たちが持っているとしましょう n 配列内の要素であり、インデックス付けは 0 まで行きます n-1 増分的に配置します。 XNUMXつのインデックスの違いはオフセットと呼ばれます。 下の画像を参照してください。
配列の例

配列の使用法
- プログラムに100個の変数が必要だとしましょう。 v100、v1、v2、…。、v3のような100個の変数を宣言することは可能ですか? 代わりに、v [0]、v [1]、…、v [100]のような配列を使用できます。これは同じ作業を行います。
- 配列は、ライブラリ管理システムのような同種のデータ型が必要な場所で使用できます。
- 検索、並べ替えなどのアルゴリズムは配列を使用します
配列のプロパティ
- 配列には同種のデータ型が格納され、データのサイズは同じです。 たとえば、整数データ型を格納する場合、すべてのデータは整数である必要があり、そのサイズは4です。
- データは連続したメモリ位置に保存されます。
- インデックスでデータを取得できます。
アレイの利点
- そのインデックスは、配列内の任意の要素に直接アクセスできます。 たとえば、air [0]を使用すると、0番目の位置の要素が返されます。 同様に、are [5]は配列の5番目の位置の要素を返します。
- インデックスをインクリメントするだけなので、配列をトラバースするのは非常に簡単です。 配列が0番目の位置から始まり、n個の値があり、次の値まで値をインクリメントする必要があるとします。 n-1thの位置。
配列で使用可能なインデックスの種類
- 0ベースのインデックス作成: 配列の最初の要素は0番目の位置から始まります。 配列Aの場合、最初の要素はA [1]になり、n個の数値がある場合、最後の要素はA [n-XNUMX]になります。
- 1 –ベースのインデックス作成: 配列の最初の要素は1番目の位置から始まります。 配列Aの場合、最初の要素はA [1]になり、n個の数値がある場合、最後の要素はA [n]になります。
- Nベースのインデックス作成: 最初の要素は、任意のランダムインデックスに格納できます。

配列の種類
使用可能なアレイには主にXNUMXつのタイプがあります。
- 1次元配列または線形配列(例:a [1]、a [2]、a [3] ..、a [n])
- 多次元配列
- 2D配列または行列(例:[a [0] [0]、a0 [0] [1] .. a [m] [n])
- 3Dアレイ(例:a [4] [4] [4])
- NDアレイ
配列の時間計算量
業務執行統括 | 平均ケース | 最悪の場合 |
---|---|---|
アクセス操作 | O(1) | O(1) |
検索 | O(N) | O(N) |
操作を挿入 | O(N) | O(N) |
操作を削除します | O(N) | O(N) |
次に、Java、Python、およびCで配列を宣言する方法について説明します。
Javaで配列を宣言する方法
線形配列またはXNUMX次元配列を宣言するには、以下のプロセスに従ってください。
/配列String[]nameを宣言します。 //値を宣言して割り当てるにはString[]name = {"Paul"、 "Adam"、 "Fatima"、 "Ricky"}; //整数配列を作成するには、定義されたデータ型は整数である必要があります。 以下を参照してください:int [] num = {10,15,20,30,35,40}; //配列を動的に宣言するにはint[]num = new int [10]; //任意のインデックスに値を割り当てるにはnum[0]= 10; num [1] = 20;
Pythonで配列を宣言する方法
#値を宣言して割り当てるにはname = ["Paul"、 "Adam"、 "Fatima"、 "Ricky"]#任意の値の名前を割り当てるには[0] = "XYZ"
Cで配列を宣言する方法
//値を宣言して割り当てるにはintnum[5] = {0,5,11,16,21};
次に、Java、Python、Cで配列要素にアクセスする方法について説明します。
Javaで配列要素にアクセスする方法
//値を宣言して割り当てるにはString[]name = {"Paul"、 "Adam"、 "Fatima"、 "Ricky"}; //配列要素にアクセスするにはSystem.out.println(name [0]);
Pythonで配列要素にアクセスする方法
#値を宣言して割り当てるにはname = ["Paul"、 "Adam"、 "Fatima"、 "Ricky"]#値にアクセスするにはvar = name [0]
Cの配列要素にアクセスする方法
//値を宣言して割り当てるにはintnum[5] = {0,5,11,16,21}; //値にアクセスするにはprintf( "%d \ n"、values [0]);
次に、Java、Python、Cで配列の長さを使用する方法について説明します。
Javaで配列の長さを使用する方法
String [] name = {"Paul"、 "Adam"、 "Fatima"、 "Ricky"}; //長さを取得するにはintsize= name.length; System.out.printn(size);
Pythonで配列の長さを使用する方法
#値を宣言して割り当てるにはname = ["Paul"、 "Adam"、 "Fatima"、 "Ricky"] size = len(name)
Cで配列の長さを使用する方法
//値を宣言して割り当てるにはintnum[5] = {0,5,11,16,21}; printf( "int配列のサイズ:%d \ n"、sizeof(num)/ sizeof(num [0]));
次に、Java、Python、Cで配列をループする方法について説明します。
Javaの配列でループを使用する方法
public static void main(String [] args){int [] num = new int [10]; //値を宣言して割り当てるにはString[]name = {"Paul"、 "Adam"、 "Fatima"、 "Ricky"}; System.out.println(name [0]); // forループfor(int i = 0; i
Pythonの配列でループを使用する方法
name = ["Paul"、 "Adam"、 "Fatima"、 "Ricky"] for i in name:print(i)
Cの配列でループを使用する方法
#含むint main(){//値を宣言して割り当てるint num [5] = {10,16,21,26,31}; for(int i = 0; i <5; i ++){printf( "%u \ n"、num [i]); }0を返します。 }
いくつかの重要なアレイインタビューの質問
Qn 1:Javaで配列サイズを変更できますか?
回答:いいえ、配列サイズを変更することはできません。 作成されると、配列のサイズは固定されます。 サイズを変更する必要がある場合は、ArrayListを使用する必要があります。
Qn 2. ArrayStoreExcpetionとは何ですか?
回答:配列は同様のデータ型を格納します。 他のデータ型を配列に格納しようとすると、例外が発生します 「ArrayStoreExcpetion」。 例:
public static void main(String [] args){int [] num = new int [5]; num [0] =12.5;//コンパイル時の例外}publicstatic void main(String [] args){Object [] num = new String [5]; // num [0] =12.5;//コンパイル時の例外num[1]= new Double(12.5); //ランタイム例外java.lang.ArrayStoreException:java.lang.Double}
Qn 3. ArrayIndexOutOfBoundsExceptionとは何ですか?
回答: ArrayIndexOutOfBoundsException ユーザーが負の配列インデックスまたは配列より大きい配列インデックスにアクセスしようとすると発生します。 配列インデックスが0で始まり、サイズが長さの場合、0未満で長さ-1より大きいものは、ArrayIndexOutOfBoundsExceptionになります。
Qn 4. ArrayStoreExcpetionとArrayIndexOutOfBoundsExceptionの違いは何ですか?
回答:両方の例外が実行時にスローされます。 ArrayStore例外 データ型が配列データ型と一致しない場合にスローされますが、インデックスへのアクセスが範囲内にない場合はArrayIndexOutOfBoundsExceptionがスローされます。
Qn 5. Javaで配列サイズを使用して配列を初期化するにはどうすればよいですか?
回答:
int [] num = new int [5];//5は配列サイズです
Qn 6.事前定義された値で配列を初期化するにはどうすればよいですか?
回答:
int [] num = {0,5,11,16,21};
Qn 7. Javaで配列をソートする方法は?
回答:アレイの事前定義されたメソッドを使用する Arrays.sort()、配列を並べ替えることができます。
public static void main(String [] args){int [] num = {0,5,11,16,21}; Arrays.sort(num); for(int i = 0; i
Qn 8.配列を文字列に変換する方法は?
回答:アレイの事前定義されたメソッドを使用する Arrays.toString()、配列を並べ替えることができます。
public static void main(String [] args){int [] num = {0,5,11,16,21}; System.out.print(Arrays.toString(num)); }
Qn 9.アレイをコピーするにはどうすればよいですか?
回答:使用 System.arrayCopy(), ユーザーはアレイをコピーできます。 それ以外の場合は、配列要素を繰り返して配列を手動でコピーできます。
Qn 10.ジェネリックはアレイで使用できますか?
回答いいえ、GenericsをArrayで使用することはできません。
Qn 12.アレイの欠点は何ですか?
回答:
- 配列のサイズは静的であり、一度初期化するとサイズを変更できません。
- 挿入や削除などの操作は、配列で実行するのが困難です。
- ユーザーが必要以上のメモリを定義すると、余分なメモリが無駄になります。
- 配列で使用されるデータ型は同じである必要があります。 たとえば、 int型 データ型として保存できません フロート、文字列 同じ配列内。 それは常にでなければなりません int型 のみ。
まとめ
今まで、私たちはの基本をカバーしてきました 配列。 次のトピックでは、アレイのいくつかの重要な問題と解決策について説明します。 データ構造に関する完全なチュートリアルを実行するには、ここをクリックしてください リンク。 このセクションの詳細については、こちらを参照してください リンク.