Array i datastruktur (Operationer)

⚡ Smart sammanfattning

En array i en datastruktur lagrar flera objekt av samma datatyp på sammanhängande minnesplatser, där var och en kan nås via ett index. Den här handledningen förklarar konceptet, varför arrayer är viktiga och hur man skapar och arbetar med dem. Python, C++och Java med exempel.

  • 📦 Kärndefinition: En array innehåller flera element av samma typ i angränsande minne, som nås via index.
  • Snabb åtkomst: Alla element hämtas i konstant tid med hjälp av dess index.
  • 🛠️ Fem Operationer: Infoga, ta bort, sök, uppdatera och bläddra bland array-verktygslådan.
  • 🌐 Övergripande språk: Python använder arraymodulen; C++ och Java deklarera arrayer direkt med manuell logik.
  • 🤖 AI-relevans: Matriser ligger till grund för tensorer och matriser som driver maskininlärningsberäkningar.

Array i datastruktur (Operationer)

Vad är Array i datastruktur?

An array är en datastruktur för att lagra mer än ett dataelement av en liknande datatyp. Elementen i en array allokeras till angränsande minnesplatser, och dessa platser kallas element av arrayen. Det totala antalet element i en array är dess längd.

Varje element nås genom sin position, och denna referens kallas index or index.

Begreppet Array

Konceptdiagram av matriser

Konceptdiagram av matriser

Diagrammet ovan illustrerar att:

  1. En array är en behållare med element.
  2. Element har ett specifikt värde och en datatyp, till exempel "ABC", SANT eller FALSKT.
  3. Varje element har sitt eget index, som används för att komma åt det.

Obs:

  • Element lagras på sammanhängande minnesplatser.
  • Ett index är alltid mindre än det totala antalet matrisobjekt.
  • Varje variabel som deklareras som en array kan lagra flera värden.
  • Nästan alla språk delar samma koncept för arrayer men skiljer sig åt i hur de deklarerar och initierar dem.
  • Tre delar är gemensamma för alla initialiseringar: arraynamnet, elementen och elementens datatyp.

Följande diagram visar syntaxen för att deklarera en array i Python och C++, vilket visar att konceptet förblir detsamma även om syntaxen varierar något mellan språk.

Förstå syntax för arrayer

Förstå syntax för arrayer

  • Arraynamn: behövs för enkel referens till elementsamlingen.
  • Data typ: behövs för typkontroll och dataintegritet.
  • element: datavärdena som finns i arrayen.

Varför behöver vi arrayer?

  • Arrayer är idealiska för att lagra flera värden i en enda variabel.
  • De bearbetar många värden enkelt och snabbt.
  • Att sortera och söka efter värden är enklare med arrayer.

Skapa en Array i Python

In Python, arrayer skiljer sig från listor: en lista kan innehålla objekt av olika datatyper, medan en array bara kan innehålla objekt av samma datatyp. Python har en separat modul för hantering av arrayer, kallad array, som du måste importera innan du använder den.

Obs: Arrayen måste innehålla reella tal såsom heltal och flyttal; strängar är inte tillåtna.

Följande kod skapar en heltalsmatris i Python för att lagra kontosaldon:

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

Sätt att deklarera en array i Python

Du kan deklarera en array i Python medan den initialiseras med följande syntax:

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

Syntax för Array i Python

Syntax för Array i Python

  1. Identifierare: ange ett namn som du vanligtvis gör för variabler.
  2. Modul: Python har en speciell modul som heter "array" som du först måste importera.
  3. Metod: Arraymodulen har en metod för att initiera arrayen, med två argument – ​​typecode och elements.
  4. Typkod: Ange datatypen med hjälp av tillgängliga typkoderna (se tabellen nedan).
  5. element: ange arrayelementen inom hakparenteser, till exempel [130, 450, 103].

Tabellen nedan listar de typkoder som är tillgängliga för de datatyper som stöds.

Skriv kod C-typ Python Typ Minsta storlek (byte)
'b' signerad röding int 1
'B' osignerad röding int 1
'du' Py_UNICODE Unicode-karaktär 2
'h' undertecknad kort int 2
'H' osignerad kort int 2
'I' signerad int int 2
'I' osignerad int int 2
'L' lång undertecknad int 4
'L' osignerad lång int 4
'F' flyta flyta 4
'd' dubbla flyta 8

Hur man får tillgång till ett specifikt arrayvärde?

Du kan komma åt vilket array-element som helst med hjälp av dess index.

Syntax:

arrayName[indexNum]

Exempel:

balance[1]

Få åtkomst till ett Array-element

Få åtkomst till ett Array-element

Här hämtade vi det andra värdet i arrayen med hjälp av index 1. Utdata är 200, vilket är det andra värdet i balance-arrayen.

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

Produktion:

200

array Operationer i Python

Ocuco-landskapet Python Arraymodulen tillhandahåller separata funktioner för arrayoperationer. Dessa är destruktiva metoder, vilket innebär att modifieringen sparas i arrayvariabeln.

Insert

Den här operationen infogar ett eller flera element i en array i början, slutet eller i ett givet index. Den förväntar sig två argument: index och värde.

arrayName.insert(index, value)

Exempel: För att infoga ett nytt värde direkt efter index 1 (värdet 200), referera till index 2 i insert-metoden.

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

Produktion:

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

Radera

Den här operationen tar bort ett objekt från en array efter värde, och accepterar ett enda argument. Efter att den körts arrangeras objekten om och index tilldelas om.

arrayName.remove(value)

Exempel:

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

Produktion:

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

Sök

Den här operationen söker efter ett objekt efter värde och returnerar dess index. Det är en icke-förstörande metod, så den ändrar inte arrayvärdena.

arrayName.index(value)

Exempel:

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

Produktion:

2

Uppdatering

Uppdatering ersätter det befintliga värdet vid ett givet index med hjälp av en enkel tilldelningsoperator.Python arrayer har inte en update() metod.)

arrayName[index] = value

Exempel: För att ersätta 150 (vid index 2) med 145:

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

Produktion:

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

Traverse

Du kan korsa en Python array med hjälp av en loop:

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

Produktion:

300
200
100

Skapa en Array i C++

C++ är mer flexibel än Python när du skapar arrayer. Du kan skapa C++ arrayer på tre sätt. Följande kod skapar en heltalsmatris i C++ för att lagra kontosaldon:

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

Sätt att deklarera en array i C++

Du kan deklarera en array på tre sätt, beroende på ditt programs krav.

Deklaration efter storlek:

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

Deklaration endast med array-element:

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

Deklaration per storlek och artiklar:

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

Hur man får åtkomst till ett specifikt arrayvärde i C++?

Åtkomst till ett arrayelement

Åtkomst till ett arrayelement

#include <iostream>
using namespace std;

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

Produktion:

200

array Operationer i C++

Till skillnad från Pythoni C++ Du måste programmera logiken själv för infogning, borttagning, sökning, uppdatering och bläddring.

Insert

Insättningslogiken är: loopa igenom array-elementen, flytta dem till ett större index och lägg sedan till ett nytt element vid det givna indexet. Exemplet nedan har fem element och infogar 150 direkt efter värdet 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

Låt oss skapa ett program i Java som accepterar storleken och värdena på arrayelementen från användaren.

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

Ändra ett element i en Java array

Uppdatera ett element med hjälp av dess index.

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

Åtkomstelement i en Java array

Skriv ut alla arrayelement genom att gå igenom arrayen.

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

Vanliga frågor

En array är en samling element av samma datatyp lagrade på sammanhängande minnesplatser. Varje element nås av ett index, vilket gör arrayer effektiva för att lagra och hämta flera relaterade värden.

A Python En list kan innehålla objekt av olika datatyper, medan en array (från arraymodulen) innehåller objekt av en enda datatyp. Arrayer är mer minneseffektiva för stora mängder numeriska data.

De fem grundläggande operationerna är infoga (lägga till ett objekt), delete (ta bort ett objekt), sök (hitta ett objekt efter värde), uppdatera (ändra ett värde i ett index) och traverse (besöka varje element).

Att komma åt ett element via index är O(1) — konstant tid — eftersom minnesadressen beräknas direkt från basadressen och indexet. Insättning och borttagning kan vara O(n) på grund av förskjutning.

Kontinuerlig lagring låter programmet beräkna valfritt elements adress direkt från basadressen plus indexet multiplicerat med elementstorleken. Det är detta som ger arrayer deras snabba, tidskonstanta slumpmässiga åtkomst.

Python behöver arraymodulen och erbjuder inbyggda driftmetoder. C++ och Java deklarerar arrayer direkt men kräver att du själv kodar logik för infogning, borttagning och sökning. Java arrayer exponerar också en length-egenskap.

Matriser är grunden för vektorer, matriser och tensorer som används inom AI. Bibliotek som NumPy och TensorFlow lagrar träningsdata och modellvikter som flerdimensionella matriser för snabb numerisk beräkning.

Ja. AI-kodningsassistenter upptäcker indexfel som är felaktiga och utanför gränserna, föreslår korrigeringar och förklarar varför ett index överskred arraylängden, hel.ping nybörjare löser vanliga array-fel snabbt.

Sammanfatta detta inlägg med: