データ構造の配列(Opera(例)
⚡ スマートサマリー
データ構造の配列は、同じデータ型の複数の項目を連続したメモリ位置に格納し、それぞれにインデックスでアクセスできます。このチュートリアルでは、配列の概念、配列が重要な理由、配列の作成方法と操作方法について説明します。 Python, C++, Java 例を挙げて。

データ構造における配列とは何ですか?
An 配列 は、類似したデータ型の複数のデータ項目を格納するためのデータ構造です。配列の項目は隣接するメモリ位置に割り当てられ、これらの位置は配列と呼ばれます。 要素は 配列の要素の総数は、配列の要素の総数です。 長さ.
各要素は位置によってアクセスされ、この参照は index or 添字.
配列の概念
配列の概念図
上の図は、次のことを示しています。
- 配列は要素のコンテナです。
- 要素には、「ABC」、「TRUE」、「FALSE」などの特定の値とデータ型があります。
- 各要素にはそれぞれ固有のインデックスがあり、それを使って要素にアクセスします。
注意:
- 要素は連続したメモリ位置に格納されます。
- インデックスは常に配列項目の合計数より小さくなります。
- 配列として宣言された変数は、複数の値を格納できます。
- ほぼすべてのプログラミング言語は配列という概念を共有しているが、配列の宣言方法と初期化方法は異なっている。
- すべての初期化において共通する3つの要素は、配列名、要素、および要素のデータ型である。
次の図は、宣言するための構文を示しています。 で配列 Python (NAIST) と C++これは、言語によって構文が若干異なっても、概念自体は変わらないことを示している。
配列の構文を理解する
- 配列名: 要素のコレクションを簡単に参照するために必要です。
- データ・タイプ: 型チェックとデータ整合性のために必要です。
- 要素: 配列内に存在するデータ値。
配列が必要な理由とは?
- 配列は、複数の値を単一の変数に格納するのに最適です。
- それらは多くの値を容易かつ迅速に処理する。
- 配列を使うと、値の並べ替えや検索が簡単になります。
配列の作成 Python
In Python配列はリストとは異なります。リストは異なるデータ型の項目を保持できますが、配列は同じデータ型の項目しか保持できません。 Python 配列を処理するための別のモジュールがあり、 array使用する前にインポートする必要があります。
注意: 配列には整数や浮動小数点数などの実数のみを含める必要があり、文字列は使用できません。
以下のコードは、 Python 口座残高を保存するには:
import array
balance = array.array('i', [300, 200, 100])
print(balance)
配列を宣言する方法 Python
配列は次のように宣言できます。 Python 以下の構文を使用して初期化する場合:
arrayName = array.array(typecode, [array_items])
配列の構文 Python
- 識別子: 変数に通常行うのと同じように、名前を指定してください。
- モジュール: Python 最初にインポートする必要のある「array」という特別なモジュールがあります。
- 方法: 配列モジュールには、型コードと要素という2つの引数を取る、配列を初期化するためのメソッドがあります。
- タイプコード: 利用可能な型コードを使用してデータ型を指定します(下の表を参照)。
- 要素: 角括弧内に配列の要素を指定します。例: [130, 450, 103]。
以下の表は、サポートされているデータ型で使用可能な型コードの一覧です。
| タイプコード | Cタイプ | Python タイプ | 最小サイズ(バイト) |
|---|---|---|---|
| 'b' | 署名された文字 | int型 | 1 |
| 「B」 | 符号なし文字 | int型 | 1 |
| 「u」 | Py_UNICODE | Unicode文字 | 2 |
| 'h' | 短い署名付き | int型 | 2 |
| 「H」 | 未署名のショート | int型 | 2 |
| '私' | 署名されたint | int型 | 2 |
| '私' | unsigned int | int型 | 2 |
| 「l」 | 長い署名 | int型 | 4 |
| 「L」 | 署名なしlong | int型 | 4 |
| 'f' | フロート | フロート | 4 |
| 「d」 | フロート | 8 |
特定の配列値にアクセスするには?
配列の要素には、インデックスを使ってアクセスできます。
構文:
arrayName[indexNum]
例:
balance[1]
配列要素にアクセスする
ここでは、インデックス1を使用して配列の2番目の値にアクセスしました。出力は200で、これはバランス配列の2番目の値です。
import array
balance = array.array('i', [300, 200, 100])
print(balance[1])
出力:
200
配列 Operaのイオン Python
その Python arrayモジュールは、配列操作のための個別の関数を提供します。これらの関数は破壊的な操作であり、変更内容は配列変数に保存されます。
インサート
この操作は、配列の先頭、末尾、または指定されたインデックスに1つ以上の項目を挿入します。引数として、インデックスと値の2つが必要です。
arrayName.insert(index, value)
例: インデックス1(値200)の直後に新しい値を挿入するには、挿入メソッドでインデックス2を参照します。
import array
balance = array.array('i', [300, 200, 100])
balance.insert(2, 150)
print(balance)
出力:
array('i', [300, 200, 150, 100])
削除
この操作は、単一の引数を受け取り、配列から要素を1つ値で削除します。実行後、要素は再配置され、インデックスが再割り当てされます。
arrayName.remove(value)
例:
import array
balance = array.array('i', [300, 200, 150, 100])
balance.remove(150)
print(balance)
出力:
array('i', [300, 200, 100])
検索
この操作は値によって項目を検索し、そのインデックスを返します。非破壊的な方法であるため、配列の値を変更しません。
arrayName.index(value)
例:
import array
balance = array.array('i', [300, 200, 150, 100])
print(balance.index(150))
出力:
2
更新
更新は、単純な代入演算子を使用して、指定されたインデックスの既存の値を置き換えます。Python 配列には update() 方法。)
arrayName[index] = value
例: インデックス2の150を145に置き換えるには:
import array
balance = array.array('i', [300, 200, 150, 100])
balance[2] = 145
print(balance)
出力:
array('i', [300, 200, 145, 100])
トラバース
あなたは横断することができます Python ループを使用した配列:
import array
balance = array.array('i', [300, 200, 100])
for x in balance:
print(x)
出力:
300
200
100
配列の作成 C++
C++ より柔軟です Python 配列を作成するとき。 C++ アレイ 3 つの方法で。次のコードは、整数配列を作成します。 C++ 口座残高を保存するには:
#include <iostream>
using namespace std;
int main()
{
int balance[3] = { 300, 200, 100 };
for (int i = 0; i < 3; i++)
{
cout << "value of i: " << balance[i] << endl;
}
return 0;
}
配列を宣言する方法 C++
プログラムの要件に応じて、配列を宣言する方法は3つあります。
サイズ別申告:
dataType arrayName[arraySize]; // e.g. int balance[3];
配列要素のみを使用した宣言:
dataType arrayName[] = {array_items}; // e.g. int balance[] = { 300, 200, 100 };
サイズ別・品目別の申告:
dataType arrayName[arraySize] = {array_items}; // e.g. int balance[3] = { 300, 200, 100 };
配列の特定の値にアクセスする方法 C++?
配列要素へのアクセス
#include <iostream>
using namespace std;
int main()
{
int balance[3] = { 300, 200, 100 };
cout << balance[1];
return 0;
}
出力:
200
配列 Operaのイオン C++
取消 Pythonで C++ 挿入、削除、検索、更新、および走査操作のロジックは、ご自身でプログラミングする必要があります。
インサート
挿入ロジックは次のとおりです。配列の要素をループ処理し、より大きなインデックスにシフトしてから、指定されたインデックスに新しい要素を追加します。以下の例では、5つの要素があり、値200の直後に150が挿入されます。
#include <iostream>
#include <stdio.h>
main() {
int pos = 2;
int size = 4;
int balance[] = {300, 200, 100, 50, 0};
printf("BEFORE INSERT:\n");
for(int i = 0; i < 5; i++) {
printf("%d\n", balance[i]);
}
/* SHIFT ITEMS TO A GREATER INDEX */
for(int i = size; i >= pos; i--) {
balance[i+1] = balance[i];
}
/* INSERT VALUE AT THE DESIRED INDEX */
balance[pos] = 150;
printf("AFTER INSERT:\n");
for(int i = 0; i < 6; i++) {
printf("%d\n", balance[i]);
}
}
配列 Operaのイオン Java
プログラムを作成しましょう Java ユーザーから配列要素のサイズと値を受け取る。
import java.util.Scanner;
public class AddElements {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter the size of the array");
int n = sc.nextInt();
int arr[] = new int[n];
System.out.println("Enter Elements in the array");
for(int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
System.out.println("Elements in the array");
for(int j = 0; j < n; j++) {
System.out.print(arr[j] + " ");
}
}
}
要素を変更する Java 配列
インデックスに基づいて要素を更新する。
import java.util.Scanner;
public class ModifyElement {
public static void main(String[] args) {
int arr[] = {1, 2, 3, 4, 5};
int length = arr.length;
Scanner sc = new Scanner(System.in);
System.out.println("Array Elements Before modify");
for(int i = 0; i < length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println("\nEnter the position to change");
int pos = sc.nextInt();
System.out.println("Enter the value");
int val = sc.nextInt();
arr[pos] = val;
System.out.println("Array Elements After modify");
for(int j = 0; j < length; j++) {
System.out.print(arr[j] + " ");
}
}
}
要素へのアクセス Java 配列
配列を走査して、配列のすべての要素を出力します。
public class AccessElements {
public static void main(String[] args) {
int arr[] = {1, 2, 3, 4, 5};
int length = arr.length;
System.out.println("Array Elements are:-");
for(int i = 0; i < length; i++) {
System.out.print(arr[i] + " ");
}
}
}





