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.
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
Diagrammet ovan illustrerar att:
- En array är en behållare med element.
- Element har ett specifikt värde och en datatyp, till exempel "ABC", SANT eller FALSKT.
- 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
- 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
- Identifierare: ange ett namn som du vanligtvis gör för variabler.
- Modul: Python har en speciell modul som heter "array" som du först måste importera.
- Metod: Arraymodulen har en metod för att initiera arrayen, med två argument – typecode och elements.
- Typkod: Ange datatypen med hjälp av tillgängliga typkoderna (se tabellen nedan).
- 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
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
#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] + " ");
}
}
}






