Array i datastruktur (Operationer)

⚡ Smart opsummering

Array i datastruktur lagrer flere elementer af samme datatype på sammenhængende hukommelsesplaceringer, der hver kan nås via et indeks. Denne vejledning forklarer konceptet, hvorfor arrays er vigtige, og hvordan man opretter og arbejder med dem i Python, C++og Java med eksempler.

  • 📦 Kernedefinition: Et array indeholder flere elementer af samme type i tilstødende hukommelse, som tilgås via indeks.
  • ⚡ Hurtig adgang: Ethvert element hentes i konstant tid ved hjælp af dets indeks.
  • 🛠️ Fem Operationer: Indsæt, slet, søg, opdater og gennemgå fra array-værktøjssættet.
  • 🌐 Tværsproglig: Python bruger array-modulet; C++ og Java deklarer arrays nativt med manuel logik.
  • 🤖 AI-relevans: Arrays understøtter tensorer og matricer, der driver maskinlæringsberegninger.

Array i datastruktur (Operationer)

Hvad er Array i datastruktur?

An matrix er en datastruktur til lagring af mere end ét dataelement af en lignende datatype. Elementerne i et array allokeres på tilstødende hukommelsesplaceringer, og disse placeringer kaldes elementer af arrayet. Det samlede antal elementer i et array er dets længde.

Hvert element tilgås via dets position, og denne reference kaldes indeks or sænket.

Begrebet Array

Konceptdiagram over arrays

Konceptdiagram over arrays

Diagrammet ovenfor illustrerer, at:

  1. Et array er en beholder af elementer.
  2. Elementer har en specifik værdi og datatype, f.eks. "ABC", SAND eller FALSK.
  3. Hvert element har sit eget indeks, som bruges til at tilgå det.

Bemærk:

  • Elementer gemmes på sammenhængende hukommelsesplaceringer.
  • Et indeks er altid mindre end det samlede antal array-elementer.
  • Enhver variabel, der er deklareret som et array, kan gemme flere værdier.
  • Næsten alle sprog deler det samme koncept for arrays, men adskiller sig i, hvordan de deklarerer og initialiserer dem.
  • Tre dele forbliver fælles på tværs af alle initialiseringer: arraynavnet, elementerne og elementernes datatype.

Følgende diagram viser syntaksen for at deklarere en række ind Python og C++, hvilket viser, at konceptet forbliver det samme, selvom syntaksen varierer en smule mellem sprog.

Forstå syntaks af arrays

Forstå syntaks af arrays

  • Array navn: nødvendigt for nem reference til samlingen af ​​elementer.
  • Datatype: nødvendigt for typekontrol og dataintegritet.
  • elementer: de dataværdier, der findes i arrayet.

Hvorfor har vi brug for arrays?

  • Arrays er ideelle til at gemme flere værdier i en enkelt variabel.
  • De bearbejder mange værdier nemt og hurtigt.
  • Det er nemmere at sortere og søge efter værdier med arrays.

Oprettelse af et array i Python

In Python, arrays adskiller sig fra lister: en liste kan indeholde elementer af forskellige datatyper, hvorimod et array kun kan indeholde elementer af samme datatype. Python har et separat modul til håndtering af arrays, kaldet array, som du skal importere, før du bruger den.

Bemærk: Arrayet skal indeholde reelle tal såsom heltal og flydende tal; strenge er ikke tilladt.

Følgende kode opretter et heltalsarray i Python at gemme kontosaldi:

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

Måder at erklære et array på Python

Du kan erklære et array i Python mens den initialiseres ved hjælp af følgende syntaks:

arrayName = array.array(typecode, [array_items])

Syntaks for Array i Python

Syntaks for Array i Python

  1. Identifikator: Angiv et navn, som du normalt gør for variabler.
  2. Modul: Python har et særligt modul kaldet "array", som du først skal importere.
  3. Metode: Array-modulet har en metode til initialisering af arrayet, der tager to argumenter - typecode og elementer.
  4. Type kode: Angiv datatypen ved hjælp af de tilgængelige typekoder (se tabellen nedenfor).
  5. elementer: Angiv array-elementerne i firkantede parenteser, for eksempel [130, 450, 103].

Tabellen nedenfor viser de typekoder, der er tilgængelige for understøttede datatyper.

Skriv kode C Type Python Type Minimumsstørrelse (bytes)
'b' underskrevet char int 1
'B' usigneret char int 1
'du' Py_UNICODE Unicode-tegn 2
'h' underskrevet kort int 2
'H' usigneret kort int 2
'jeg' underskrevet int int 2
'JEG' usigneret int int 2
'l' underskrevet lang int 4
'L' usigneret længe int 4
'F' flyde flyde 4
'd' fordoble flyde 8

Hvordan får man adgang til en specifik arrayværdi?

Du kan tilgå ethvert array-element ved hjælp af dets indeks.

Syntaks:

arrayName[indexNum]

Eksempel:

balance[1]

Få adgang til et Array Element

Få adgang til et Array Element

Her tilgik vi den anden værdi i arrayet ved hjælp af indeks 1. Outputtet er 200, som er den anden værdi i balance-arrayet.

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

Output:

200

Array Operationer i Python

Python Array-modulet tilbyder separate funktioner til array-operationer. Disse er destruktive metoder, hvilket betyder, at ændringen gemmes i array-variablen.

indsatte

Denne operation indsætter et eller flere elementer i et array i begyndelsen, slutningen eller et givet indeks. Den forventer to argumenter: indeks og værdi.

arrayName.insert(index, value)

Eksempel: For at indsætte en ny værdi lige efter indeks 1 (værdien 200), skal du referere til indeks 2 i insert-metoden.

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

Output:

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

Slette

Denne handling sletter ét element fra et array efter værdi, og accepterer et enkelt argument. Når den køres, arrangeres elementerne igen, og indeksene tildeles igen.

arrayName.remove(value)

Eksempel:

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

Output:

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

Søg

Denne operation søger efter et element efter værdi og returnerer dets indeks. Det er en ikke-destruktiv metode, så den ændrer ikke arrayværdierne.

arrayName.index(value)

Eksempel:

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

Output:

2

Opdatering

Opdatering erstatter den eksisterende værdi ved et givet indeks ved hjælp af en simpel tildelingsoperator.Python arrays har ikke en update() metode.)

arrayName[index] = value

Eksempel: For at erstatte 150 (ved indeks 2) med 145:

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

Output:

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

Traverse

Du kan krydse en Python array ved hjælp af en løkke:

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

Output:

300
200
100

Oprettelse af et array i C++

C++ er mere fleksibel end Python når du opretter arrays. Du kan oprette C++ arrays på tre måder. Følgende kode opretter et heltalsarray i C++ at gemme kontosaldi:

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

Måder at erklære et array på C++

Du kan deklarere et array på tre måder, afhængigt af dit programs krav.

Erklæring efter størrelse:

dataType arrayName[arraySize];   // e.g. int balance[3];

Deklaration kun med array-elementer:

dataType arrayName[] = {array_items};   // e.g. int balance[] = { 300, 200, 100 };

Erklæring efter størrelse og varer:

dataType arrayName[arraySize] = {array_items};   // e.g. int balance[3] = { 300, 200, 100 };

Sådan får du adgang til en specifik arrayværdi i C++?

Adgang til et array-element

Adgang til et array-element

#include <iostream>
using namespace std;

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

Output:

200

Array Operationer i C++

I modsætning til Pythoni C++ Du skal selv programmere logikken til indsættelses-, sletnings-, søge-, opdaterings- og gennemløbsoperationer.

indsatte

Indsættelseslogikken er: Løft gennem array-elementerne, flyt dem til et større indeks, og tilføj derefter et nyt element ved det givne indeks. Eksemplet nedenfor har fem elementer og indsætter 150 lige efter værdien 200.

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

Array Operationer i Java

Lad os lave et program i Java der accepterer størrelsen og værdierne af array-elementerne fra brugeren.

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

Rediger et element i en Java Array

Opdater et element efter dets indeks.

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

Adgang til elementer i en Java Array

Udskriv alle array-elementer ved at gennemløbe arrayet.

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

Ofte Stillede Spørgsmål

Et array er en samling af elementer af samme datatype, der er lagret på sammenhængende hukommelsesplaceringer. Hvert element tilgås af et indeks, hvilket gør arrays effektive til at gemme og hente flere relaterede værdier.

A Python En liste kan indeholde elementer af forskellige datatyper, mens et array (fra array-modulet) indeholder elementer af en enkelt datatype. Arrays er mere hukommelseseffektive til store sæt numeriske data.

De fem grundlæggende operationer er indsæt (tilføj et element), slet (fjern et element), søg (find et element efter værdi), opdater (ændre en værdi i et indeks) og traverse (besøg hvert element).

Adgang til et element via indeks er O(1) — konstant tid — fordi hukommelsesadressen beregnes direkte ud fra basisadressen og indekset. Indsættelse og sletning kan være O(n) på grund af forskydning.

Sammenhængende lagring lader programmet beregne ethvert elements adresse øjeblikkeligt ud fra basisadressen plus indekset ganget med elementstørrelsen. Det er dette, der giver arrays deres hurtige, konstante tidsmæssige tilfældige adgang.

Python behøver array-modulet og tilbyder indbyggede driftsmetoder. C++ og Java deklarerer arrays native, men kræver, at du selv koder indsættelses-, sletnings- og søgelogik. Java arrays eksponerer også en length-egenskab.

Arrays er grundlaget for vektorer, matricer og tensorer, der bruges i AI. Biblioteker som NumPy og TensorFlow gemmer træningsdata og modelvægte som flerdimensionelle arrays til hurtig numerisk beregning.

Ja. AI-kodningsassistenter registrerer indeksfejl, der er off-by-one og out-of-bounds, foreslår rettelser og forklarer, hvorfor et indeks overskred arraylængden, helping Begyndere løser almindelige array-fejl hurtigt.

Opsummer dette indlæg med: