データ構造における配列: 配列とは何か Operaオプション [例]

データ構造における配列とは何ですか?

An 配列 は、同様のデータ型を持つ複数のデータ項目を格納するためのデータ構造です。 配列の項目は、隣接するメモリ位置に割り当てられます。 これらの記憶場所は次のように呼ばれます。 要素は その配列の。 配列内の要素の総数は次のように呼ばれます。 長さ.

配列の位置に関する詳細にアクセスします。この参照は index or 添字.

配列の概念

配列の概念図
配列の概念図

上の図は次のことを示しています。

  1. 配列は要素のコンテナです。
  2. 要素には、「ABC」、TRUE、FALSE などの特定の値とデータ型があります。
  3. 各要素には独自のインデックスもあり、要素にアクセスするために使用されます。

注意:

  • 要素は連続したメモリ位置に格納されます。
  • インデックスは常に配列項目の合計数より小さくなります。
  • 構文の点では、配列として宣言された変数は複数の値を格納できます。
  • ほとんどすべての言語は配列の理解は同じですが、配列の宣言と初期化の方法が異なります。
  • ただし、配列名、要素、要素のデータ型という XNUMX つの部分はすべての初期化で常に共通です。

次の図は、宣言の構文を示しています。 で配列 Python の三脚と C++ 言語によって構文が若干異なる場合でも、理解は同じであることを示します。

配列の構文を理解する

配列の構文を理解する
  • 配列名: 要素のコレクションを簡単に参照するために必要です
  • データ・タイプ: 型チェックとデータ整合性に必要
  • 要素: これらは配列内に存在するデータ値です

なぜ配列が必要なのでしょうか?

データ構造で配列を使用する理由は次のとおりです。

  • 配列は、複数の値を XNUMX つの変数に格納するのに最適です
  • 配列は、多くの値を簡単かつ迅速に処理するのに優れています。
  • 配列では値の並べ替えや検索が簡単になります

配列の作成 Python

In Python、配列はリストとは異なります。 リストにはデータ型の配列項目を含めることができますが、配列には同じデータ型の項目のみを含めることができます。

Python 配列を処理するための array と呼ばれる別のモジュールがあり、作業を開始する前にこれをインポートする必要があります。

注意: 配列には整数や浮動小数点数などの実数を含める必要があり、文字列は許可されません。

次のコードは、口座残高を保存するために Python で整数配列を作成する方法を示しています。

 import array
 balance = array.array('i', [300,200,100])
 print(balance)

配列を宣言する方法 Python

配列は次のように宣言できます。 Python 次の構文を使用して初期化します。

arrayName = array.array(type code for data type, [array,items])

次の画像は構文を説明しています。

配列の構文 Python

配列の構文 Python

  1. 識別する: 通常、変数に対して行うのと同じように名前を指定します。
  2. モジュール: Python 「array」と呼ばれる配列を作成するための特別なモジュールがあります。使用する前にインポートする必要があります。
  3. 方法: 配列モジュールには配列を初期化するメソッドがあります。 XNUMX つの引数、typecode、および要素を取ります。
  4. タイプコード: 利用可能なタイプコードを使用してデータ型を指定します (以下のリストを参照)
  5. 要素: 配列要素を角括弧で囲んで指定します。例: [130,450,103]

次の表は、サポートされているデータ型で使用可能な型コードを示しています。

タイプコード Cタイプ Python タイプ バイト単位の最小サイズ
'c' チャリオット 文字 1
「B」 符号なし文字 int型 1
'b' 署名された文字 int型 1
「u」 Py_UNICODE Unicode文字 2
'h' 短い署名付き int型 2
「H」 未署名のショート int型 2
'私' 署名されたint int型 2
'私' unsigned int 長い 2
「l」 長い署名 int型 4
「L」 署名なしlong 長い 4
'f' フロート フロート 4
「d」 フロート 8

特定の配列値にアクセスするにはどうすればよいですか?

インデックスを使用して、任意の配列項目にアクセスできます。

構文

arrayName[indexNum]

例:

balance[1]

次の図は、インデックスによって配列項目にアクセスする基本的な概念を示しています。

配列要素にアクセスする

配列要素にアクセスする

ここでは、インデックス 1 を使用して配列の 200 番目の値にアクセスしました。この出力は XNUMX になり、これは基本的にバランスの取れた配列の XNUMX 番目の値になります。

import array
balance = array.array('i', [300,200,100])
print(balance[1])

出力

200

配列 Operaン

アレイモジュール Python 配列操作を実行するための個別の関数があります。これは配列を操作する破壊的な方法であり、変更は配列変数に保存されます。

インサート

この操作を使用すると、配列の先頭、末尾、または任意のインデックスに 1 つ以上の項目を挿入できます。このメソッドには、インデックスと値の 2 つの引数が必要です。

構文

arrayName.insert(index, value)

例:

配列の 300 番目の項目の直後に新しい値を追加しましょう。 現在、バランス配列には 200、100、200 の 1 つの項目があります。では、XNUMX と答えた場合、値が XNUMX である XNUMX 番目の配列項目のインデックスは何になるでしょうか。

新しい値をインデックス 1 の「直後」に挿入するには、次のように、insert メソッドでインデックス 2 を参照する必要があります。

import array
balance = array.array('i', [300,200,100])
balance.insert(2, 150)

ここで、新しい値が挿入されたかどうかを確認するために、配列名を入力してキーボードの Enter キーを押します。

import array
balance = array.array('i', [300,200,100])
balance.insert(2, 150)
print(balance)

出力

array('i', [300,200,150,100])

削除

この操作では、配列から値によって 1 つの項目を削除できます。このメソッドは、1 つの引数 value のみを受け入れます。このメソッドを実行すると、配列項目が再配置され、インデックスが再割り当てされます。

構文

arrayName.remove(value)

例:

配列から値 150 を削除しましょう。 現在、バランス配列には 300 つの項目 200、150、100、および 150 があります。したがって、配列から 150 を削除するには、メソッドの引数内に XNUMX を入力するだけで済みます。 シンプルですよね?

import array
balance = array.array('i', [300,200,100])
balance.insert(2, 150)
print(balance)
balance.remove(150)

ここで、値が削除されたかどうかを確認するために、配列名を入力してキーボードの Enter キーを押します。

import array
balance = array.array('i', [300,200,100])
balance.insert(2, 150)
print(balance)
balance.remove(150)
print(balance)

出力

 array('i', [300,200,100])

検索

この操作では、配列内の項目をその値に基づいて検索できます。このメソッドは、1 つの引数 value のみを受け入れます。これは非破壊的なメソッドであり、配列の値に影響を与えません。

構文

arrayName.index(value)

例:

配列内で値 150 を検索してみましょう。 現在、バランス配列には 300 つの項目 200、150、100、および 150 があります。したがって、配列内で 150 を検索するには、メソッドの引数内に XNUMX を入力するだけで済みます。 それはとても簡単です。 このメソッドは、検索された値のインデックスを返します。

import array
balance = array.array('i', [300,200,150,100])
print(balance.index(150))

出力

2

UPDATE

この操作は、指定されたインデックスの既存の値を置き換える点を除いて、挿入メソッドと非常によく似ています。つまり、指定されたインデックスに新しい値を割り当てるだけです。このメソッドには、インデックスと値の 2 つの引数が必要です。

構文

arrayName.udpate(index, value)

例:

配列に 300 つの項目 200、150、100、150 があり、145 を 150 に置き換えたいとします。では、インデックス XNUMX は何でしょうか?

2 と言ったら、称賛します。

インデックス 150 の 2 を置き換えるには、次のように単純な代入演算子を使用してインデックス 2 を参照する必要があります。

import array
balance = array.array('i', [300,200,150,100])
balance[2] = 145

ここで、値が更新されたかどうかを確認するために、配列名を入力し、キーボードの Enter キーを押します。

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++ アレイ 前述の XNUMX つの方法で。

次のコードは、整数配列を作成する方法を示しています。 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++

配列は XNUMX つの構文バリエーションで宣言できます。 どれがあなたのプログラムに適していますか? この選択はプログラムの要件に基づいて行われます。

サイズごとの宣言

構文

dataType arrayName[arraySize];

例:

int balance[3];

宣言の初期化配列項目のみ

構文

dataType arrayName[] = {array, items};

例:

int balance[] = { 300, 200, 100 };

サイズによる宣言と配列項目の初期化

構文

dataType arrayName[arraySize] = {array, items};

例:

int balance[3] = { 300, 200, 100 };

特定の配列値にアクセスするにはどうすればよいですか?

インデックスを使用して、任意の配列項目にアクセスできます。

構文

arrayName[indexNum]

例:

balance[1]

次の図は、インデックスによって配列項目にアクセスする基本的な概念を示しています。

配列要素へのアクセス

配列要素へのアクセス

ここでは、インデックス 1 を使用して配列の 200 番目の値にアクセスしました。この出力は XNUMX となり、これは基本的にバランス配列の XNUMX 番目の値になります。

#include <iostream>
using namespace std;

int main()
{
  int balance[3] = { 300, 200, 100 };
  cout << balance[1];

  return 0;
}

出力

200

配列 Operaのイオン C++

取消 Pythonで C++ 挿入、削除、検索、更新、トラバース操作を実行するためのロジックを自分でプログラムする必要があります。 C++ 配列。

インサート

挿入操作のロジックは次のようになります。

  • 配列項目をループします
  • より大きなインデックスにシフトする
  • 指定されたインデックスに新しい配列項目を追加します

次の例では、残高配列に 5 つの項目があり、値 200 の直後に新しい項目を追加します。つまり、200 の後のすべての項目をより大きなインデックスにシフトしてから、新しい値 150 を挿入する必要があります。

#include <iostream>
#include <stdio.h>

main() {
   int pos = 2;
   int size = 4;
   int balance[] = {300,200,100,50,0};
   
   printf("BEFORE INCREMENT: \n");
   for(int i = 0; i<5; i++) {
      printf("%d\n",balance[i]);
   }

   /* FOR SHIFTING ITEMS TO A GREATER INDEX */
   for(int i = size; i >= pos; i--) {
       balance[i+1]=balance[i];
   }

   /* FOR INSERTING VALUE AT OUR DESIRED INDEX */   
   balance[pos] = 150;
   
   printf("AFTER INCREMENT: \n");
   

   /* FOR PRINTING THE NEW ARRAY */   
   for(int i = 0; i<6; i++) {
      printf("%d\n",balance[i]);
   }
}

出力

BEFORE INCREMENT
300
200
100
50
0
AFTERINCREMENT
300
200
150
100
50
0

配列 Operaのイオン Java

プログラミングを作成してみましょう 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]+" ");
        }
    }
}

出力:-

Enter the size of the array

5
Enter Elements in the array

1
2
3
4
5
Elements in the array
1 2 3 4 5 

配列内の要素を変更:-

指定されたインデックスによって要素を更新します。

プログラムイン 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 where you want to change in an array");
        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]+" ");
        }
    }
}

出力:-

Array Elements Before modify
1 2 3 4 5 
Enter the position where you want to change in an array

2
Enter the value
8
Array Elements After modify
1 2 8 4 5 

配列内の要素にアクセスします:-

すべての配列要素を出力します。

プログラムイン 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]+" ");
        }

    }
}

出力:-

Array Elements are:-
1 2 3 4 5 

製品概要

  • 配列は、同様のデータ型を持つ複数のデータ項目を格納するためのデータ構造です。
  • 識別子、データ型、配列長、要素、インデックスが配列の主要な部分です
  • 配列要素の値を処理するためにインデックスを使用する
  • 配列はデータ型をそのまま維持するための優れたサポートを備えています
  • ほとんどの言語では、配列は、含める識別子、データ型、要素を指定することによって作成されます。
  • 配列は、大量の値の処理や、素早い並べ替えや検索に最適です。
  • Python 挿入、削除、検索、更新、トラバースなどの基本的な配列操作を実行するためのモジュールと組み込みメソッドがあります。
  • C++ 挿入、削除、検索、更新、トラバースなどの基本的な配列操作のためのプログラムを定義する必要がある