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.
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
Diagrammet ovenfor illustrerer, at:
- Et array er en beholder af elementer.
- Elementer har en specifik værdi og datatype, f.eks. "ABC", SAND eller FALSK.
- 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
- 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
- Identifikator: Angiv et navn, som du normalt gør for variabler.
- Modul: Python har et særligt modul kaldet "array", som du først skal importere.
- Metode: Array-modulet har en metode til initialisering af arrayet, der tager to argumenter - typecode og elementer.
- Type kode: Angiv datatypen ved hjælp af de tilgængelige typekoder (se tabellen nedenfor).
- 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
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
#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] + " ");
}
}
}






