Array in Data Structure: Ce este, Arrays Operațiuni [Exemple]

Ce este Array în Data Structure?

An mulțime este o structură de date pentru stocarea mai multor elemente de date care au un tip de date similar. Elementele unei matrice sunt alocate în locații de memorie adiacente. Aceste locații de memorie sunt numite element a acelei matrice. Se numește numărul total de elemente dintr-o matrice lungime.

Detaliile unei matrice sunt accesate despre poziția sa. Această referință se numește index or indicele.

Conceptul de matrice

Diagrama conceptuală a tablourilor
Diagrama conceptuală a tablourilor

Diagrama de mai sus ilustrează faptul că:

  1. Un tablou este un container de elemente.
  2. Elementele au o anumită valoare și tip de date, cum ar fi „ABC”, TRUE sau FALSE etc.
  3. Fiecare element are, de asemenea, propriul index, care este folosit pentru a accesa elementul.

Notă:

  • Elementele sunt stocate în locații de memorie adiacente.
  • Un index este întotdeauna mai mic decât numărul total de elemente ale matricei.
  • În ceea ce privește sintaxa, orice variabilă care este declarată ca matrice poate stoca mai multe valori.
  • Aproape toate limbile au aceeași înțelegere a matricelor, dar au moduri diferite de a le declara și inițializa.
  • Cu toate acestea, trei părți vor rămâne întotdeauna comune în toate inițializările, adică numele matricei, elementele și tipul de date al elementelor.

Următoarea diagramă ilustrează sintaxa declarării an matrice în Python si C++ pentru a prezenta că înțelegerea rămâne aceeași, deși sintaxa poate varia ușor în diferite limbi.

Înțelegeți sintaxa matricelor

Înțelegeți sintaxa matricelor
  • Nume matrice: necesare pentru referire ușoară la colecția de elemente
  • Tipul de date: necesare pentru verificarea tipului și integritatea datelor
  • elemente: acestea sunt valorile datelor prezente într-o matrice

De ce avem nevoie de matrice?

Iată câteva motive pentru a utiliza matrice în structura de date:

  • Matricele sunt cele mai bune pentru stocarea mai multor valori într-o singură variabilă
  • Matricele sunt mai bune la procesarea multor valori ușor și rapid
  • Sortarea și căutarea valorilor este mai ușoară în matrice

Crearea unui Array în Python

In Python, tablourile sunt diferite de liste; listele pot avea elemente matrice de tipuri de date, în timp ce matricele pot avea doar elemente de același tip de date.

Python are un modul separat pentru manipularea matricelor numit array, pe care trebuie să îl importați înainte de a începe să lucrați la ele.

Notă: Matricea trebuie să conțină numere reale, cum ar fi numere întregi și flotanți, fără șiruri de caractere permise.

Următorul cod ilustrează modul în care puteți crea o matrice întregă în python pentru a stoca soldul contului:

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

Modalități de a declara o matrice în Python

Puteți declara o matrice în Python în timp ce îl inițializați folosind următoarea sintaxă.

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

Următoarea imagine explică sintaxa.

Sintaxa Array în Python

Sintaxa Array în Python

  1. Identifier: specificați un nume ca de obicei, faceți pentru variabile
  2. Module: Python are un modul special pentru crearea de matrice, numit „array” – trebuie să îl importați înainte de a-l folosi
  3. Metodă: modulul de matrice are o metodă de inițializare a matricei. Este nevoie de două argumente, typecode și elemente.
  4. Cod de tip: specificați tipul de date folosind codurile de tip disponibile (vezi lista de mai jos)
  5. Elemente de: specificați elementele matricei dintre paranteze pătrate, de exemplu [130,450,103]

Următorul tabel ilustrează codurile de tip disponibile pentru tipurile de date acceptate:

Codul de tip C Tip Python Tip Dimensiunea minimă în octeți
'c' car de război caracter 1
„B” char nesemnat int 1
'b' semnat char int 1
'tu' Py_UNICODE Caracter Unicode 2
'h' semnat scurt int 2
„H” scurt nesemnat int 2
'I' semnat int int 2
'I' nesemnat int lung 2
'l' semnat lung int 4
„L” nesemnat mult lung 4
'F' pluti pluti 4
'd' dubla pluti 8

Cum se accesează o anumită valoare de matrice?

Puteți accesa orice element de matrice folosind indexul acestuia.

Sintaxă

arrayName[indexNum]

Exemplu:

balance[1]

Următoarea imagine ilustrează conceptul de bază al accesării elementelor matrice prin indexul lor.

Accesați un element de matrice

Accesați un element de matrice

Aici, am accesat a doua valoare a matricei folosind indexul său, care este 1. Ieșirea acestuia va fi 200, care este practic a doua valoare a matricei echilibrate.

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

REZULTATE

200

Mulțime Operații

Modulul matrice al Python are funcții separate pentru efectuarea operațiunilor cu matrice. Aceasta este o metodă distructivă de operare cu matrice, ceea ce înseamnă că modificarea va fi salvată în variabila matrice.

Insera

Cu această operațiune, puteți insera unul sau mai multe elemente într-o matrice la începutul, sfârșitul sau orice index dat al matricei. Această metodă așteaptă două argumente index și valoare.

Sintaxă

arrayName.insert(index, value)

Exemplu:

Să adăugăm o nouă valoare imediat după al doilea element al matricei. În prezent, matricea noastră de echilibru are trei elemente 300, 200 și 100. Deci, care este indexul celui de-al doilea element de matrice cu o valoare de 200 dacă ați spus 1.

Pentru a introduce noua valoare chiar „după” indexul 1, trebuie să faceți referire la indexul 2 în metoda dvs. de inserare, astfel:

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

Acum, pentru a verifica dacă noua valoare a fost inserată, introduceți numele matricei și apăsați Enter de pe tastatură:

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

REZULTATE

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

Șterge

Cu această operație, puteți șterge un element dintr-o matrice după valoare. Această metodă acceptă un singur argument, valoarea. După rularea acestei metode, elementele matricei sunt rearanjate, iar indicii sunt reatribuiți.

Sintaxă

arrayName.remove(value)

Exemplu:

Să eliminăm valoarea 150 din matrice. În prezent, matricea noastră de echilibru are patru elemente 300, 200, 150 și 100. Deci, pentru a elimina 150 din matrice, trebuie doar să introducem 150 în argumentul metodei. Simplu, nu?

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

Acum, pentru a verifica dacă valoarea a fost ștearsă, introduceți numele matricei și apăsați Enter de pe tastatură:

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

REZULTATE

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

Căutare

Cu această operație, puteți căuta un element dintr-o matrice pe baza valorii sale. Această metodă acceptă un singur argument, valoarea. Aceasta este o metodă nedistructivă, ceea ce înseamnă că nu afectează valorile matricei.

Sintaxă

arrayName.index(value)

Exemplu:

Să căutăm valoarea 150 în matrice. În prezent, matricea noastră de echilibru are patru elemente 300, 200, 150 și 100. Deci, pentru a căuta 150 în matrice, trebuie doar să introducem 150 în argumentul metodei. E destul de ușor. Această metodă returnează indexul valorii căutate.

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

REZULTATE

2

UPDATE

Această operație este destul de similară cu metoda de inserare, cu excepția faptului că va înlocui valoarea existentă la indexul dat. Acest lucru înseamnă pur și simplu să atribuie o nouă valoare la indexul dat. Această metodă așteaptă două argumente index și valoare.

Sintaxă

arrayName.udpate(index, value)

Exemplu:

Să presupunem că matricea noastră are patru elemente 300, 200, 150 și 100 și dorim să înlocuim 150 cu 145. Deci, care este indicele 150?

Felicitari, daca ai spus 2.

Pentru a înlocui 150 care are indexul 2, trebuie să faceți referire la indexul 2 utilizând un operator de atribuire simplu, ca acesta:

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

Acum, pentru a verifica dacă valoarea a fost actualizată, introduceți numele matricei și apăsați Enter de pe tastatură:

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

REZULTATE

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

Traverse

Puteți traversa o matrice Python folosind bucle, ca aceasta:

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

REZULTATE

300
200
100

Crearea unui Array în C++

C++ limbă este mai flexibil decât Python când vine vorba de crearea de matrice. Puteți crea C++ matrice în trei moduri menționate mai înainte.

Următorul cod ilustrează modul în care puteți crea o matrice întregă în C++ pentru a stoca soldul contului:

#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;
}

Modalități de a declara o matrice în C++

Puteți declara o matrice în trei variante de sintaxă. Care se potrivește programului tău; această alegere se bazează pe cerințele programului dumneavoastră.

Declarație după mărime

Sintaxă

dataType arrayName[arraySize];

Exemplu:

int balance[3];

Declarație Inițializare Matrice Numai elemente

Sintaxă

dataType arrayName[] = {array, items};

Exemplu:

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

Declarație după dimensiune și elemente de matrice de inițializare

Sintaxă

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

Exemplu:

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

Cum se accesează o anumită valoare de matrice?

Puteți accesa orice element de matrice folosind indexul acestuia.

Sintaxă

arrayName[indexNum]

Exemplu:

balance[1]

Următoarea imagine ilustrează conceptul de bază al accesării elementelor matrice prin indexul lor.

Accesarea unui element de matrice

Accesarea unui element de matrice

Aici, am accesat a doua valoare a matricei folosind indexul său, care este 1. Ieșirea acestuia va fi 200, care este practic a doua valoare a matricei de echilibru.

#include <iostream>
using namespace std;

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

  return 0;
}

producție

200

Mulțime Operațiuni în C++

Spre deosebire de Python, În C++ trebuie să programați singur logica pentru efectuarea operațiilor de inserare, ștergere, actualizare de căutare și traversare C++ matrici.

Insera

Logica operației de inserare este următoarea:

  • parcurge elementele matricei
  • mutați-le la un indice mai mare
  • adăugați un nou element de matrice la un index dat

În exemplul următor, avem 5 elemente în matricea de sold și dorim să adăugăm un nou articol imediat după valoarea 200. Aceasta înseamnă că trebuie să mutam toate articolele după 200 la un index mai mare și apoi să introducem noul nostru valoare de 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]);
   }
}

producție

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

Mulțime Operațiuni în Java

Să creăm o programare în Java, in acest program matrice în Java vom accepta dimensiunea și valoarea elementelor matricei de la utilizator.

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]+" ");
        }
    }
}

Ieșire: -

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 

Modificați elementul în matrice: -

Actualizați un element după indexul dat.

Program în Java pentru modul de modificare a elementelor dintr-o matrice

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]+" ");
        }
    }
}

Ieșire: -

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 

Element de acces în matrice: -

Tipăriți toate elementele matricei.

Program în Java pentru cum să traversezi în matrice

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]+" ");
        }

    }
}

Ieșire: -

Array Elements are:-
1 2 3 4 5 

Rezumat

  • O matrice este o structură de date pentru stocarea mai multor elemente de date care au un tip de date similar
  • Identificatorul, tipul de date, lungimea matricei, elementele și indexul sunt părțile majore ale unei matrice
  • Utilizați indexul pentru procesarea valorilor elementelor matricei
  • Matricele au un suport excelent pentru păstrarea intactă a tipului de date
  • În majoritatea limbilor, o matrice este creată prin specificarea unui identificator, tip de date și elemente de inclus
  • Matricele sunt cele mai bune pentru procesarea unui număr mare de valori și pentru sortarea și căutarea rapidă
  • Python are module și metode încorporate pentru a efectua operațiuni de bază ale matricei, cum ar fi inserarea, ștergerea, căutarea, actualizarea și traversarea
  • C++ necesită definirea programelor pentru operațiunile de bază ale matricei, cum ar fi inserarea, ștergerea, actualizarea căutării și traversarea