Array in datastructuur (Operaties)
⚡ Slimme samenvatting
Een array in een datastructuur slaat meerdere items van hetzelfde gegevenstype op aaneengesloten geheugenlocaties op, die elk bereikbaar zijn via een index. Deze tutorial legt het concept uit, waarom arrays belangrijk zijn en hoe je ze kunt maken en bewerken. Python, C++en Java met voorbeelden.
Wat is array in gegevensstructuur?
An reeks Een array is een datastructuur voor het opslaan van meerdere gegevenselementen van hetzelfde gegevenstype. De elementen van een array worden toegewezen op aangrenzende geheugenlocaties, en deze locaties worden de array genoemd. geeft je de mogelijkheid van de array. Het totale aantal elementen in een array is gelijk aan het aantal elementen in de array. lengte.
Elk element wordt benaderd via zijn positie, en deze verwijzing wordt de genoemd. index or subscript.
Concept van matrix
Conceptdiagram van arrays
Het bovenstaande diagram illustreert dat:
- Een array is een container met elementen.
- Elementen hebben een specifieke waarde en gegevenstype, zoals "ABC", WAAR of ONWAAR.
- Elk element heeft een eigen index, waarmee het kan worden benaderd.
Let op:
- Elementen worden opgeslagen op aangrenzende geheugenlocaties.
- Een index is altijd kleiner dan het totale aantal array-items.
- Elke variabele die als array is gedeclareerd, kan meerdere waarden opslaan.
- Vrijwel alle programmeertalen hanteren hetzelfde concept van arrays, maar verschillen in de manier waarop ze deze declareren en initialiseren.
- Drie onderdelen blijven bij alle initialisaties hetzelfde: de arraynaam, de elementen en het gegevenstype van de elementen.
Het volgende diagram toont de syntaxis voor het declareren van een rij in Python en C++Dit toont aan dat het concept hetzelfde blijft, ook al verschilt de syntaxis enigszins tussen talen.
Begrijp de syntaxis van arrays
- Arraynaam: Nodig voor gemakkelijke raadpleging van de verzameling elementen.
- Data type: Nodig voor typecontrole en gegevensintegriteit.
- elementen: de gegevenswaarden die in de array aanwezig zijn.
Waarom hebben we arrays nodig?
- Arrays zijn ideaal voor het opslaan van meerdere waarden in één variabele.
- Ze verwerken veel waarden gemakkelijk en snel.
- Het sorteren en zoeken van waarden is eenvoudiger met arrays.
Een array maken in Python
In PythonArrays verschillen van lijsten: een lijst kan items van verschillende gegevenstypen bevatten, terwijl een array alleen items van hetzelfde gegevenstype kan bevatten. Python heeft een aparte module voor het verwerken van arrays, genaamd arraydie je eerst moet importeren voordat je hem kunt gebruiken.
Let op: De array moet reële getallen bevatten, zoals gehele getallen en drijvende-kommagetallen; tekenreeksen zijn niet toegestaan.
De volgende code maakt een integer-array aan in Python om rekeningsaldi op te slaan:
import array
balance = array.array('i', [300, 200, 100])
print(balance)
Manieren om een array in te declareren Python
Je kunt een array declareren in Python bij het initialiseren met behulp van de volgende syntax:
arrayName = array.array(typecode, [array_items])
Syntaxis van Array in Python
- Identifier: Geef een naam op zoals je dat normaal gesproken voor variabelen doet.
- Module: Python Het bevat een speciale module genaamd "array" die je eerst moet importeren.
- Werkwijze: De array-module heeft een methode voor het initialiseren van de array, die twee argumenten accepteert: typecode en elements.
- Typcode: Geef het gegevenstype op met behulp van de beschikbare typecodes (zie de tabel hieronder).
- elementen: Geef de array-elementen tussen vierkante haken op, bijvoorbeeld [130, 450, 103].
De onderstaande tabel geeft een overzicht van de beschikbare typecodes voor de ondersteunde gegevenstypen.
| Typ code | C Type | Python Type | Minimale grootte (bytes) |
|---|---|---|---|
| 'b' | ondertekend char | int | 1 |
| 'B' | Ongetekend char | int | 1 |
| 'U' | Py_UNICODE | Unicode-teken | 2 |
| 'H' | kort getekend | int | 2 |
| 'H' | ongetekend kort | int | 2 |
| 'ik' | aangemeld bij | int | 2 |
| 'IK' | niet aangemeld | int | 2 |
| 'L' | lang getekend | int | 4 |
| 'L' | lang ongetekend | int | 4 |
| 'F' | drijven | drijven | 4 |
| 'D' | verdubbelen | drijven | 8 |
Hoe krijg ik toegang tot een specifieke waarde in een array?
Je kunt elk element in een array benaderen via de index ervan.
Syntax:
arrayName[indexNum]
Voorbeeld:
balance[1]
Toegang tot een array-element
Hier hebben we de tweede waarde van de array benaderd met behulp van index 1. De uitvoer is 200, wat de tweede waarde van de balans-array is.
import array
balance = array.array('i', [300, 200, 100])
print(balance[1])
Output:
200
reeks Operain Python
De Python De array-module biedt aparte functies voor array-bewerkingen. Dit zijn destructieve methoden, wat betekent dat de wijziging wordt opgeslagen in de array-variabele.
Invoegen
Deze bewerking voegt een of meer elementen toe aan een array, aan het begin, het einde of op een willekeurige index. De bewerking vereist twee argumenten: index en waarde.
arrayName.insert(index, value)
Voorbeeld: Om een nieuwe waarde direct na index 1 (de waarde 200) in te voegen, gebruik je index 2 in de invoegmethode.
import array
balance = array.array('i', [300, 200, 100])
balance.insert(2, 150)
print(balance)
Output:
array('i', [300, 200, 150, 100])
Verwijdering
Deze bewerking verwijdert één element uit een array op basis van de waarde ervan en accepteert één argument. Na de uitvoering worden de elementen opnieuw gerangschikt en de indexen opnieuw toegewezen.
arrayName.remove(value)
Voorbeeld:
import array
balance = array.array('i', [300, 200, 150, 100])
balance.remove(150)
print(balance)
Output:
array('i', [300, 200, 100])
Zoeken
Deze bewerking zoekt naar een item op basis van de waarde en retourneert de index ervan. Het is een niet-destructieve methode, dus de waarden in de array worden niet gewijzigd.
arrayName.index(value)
Voorbeeld:
import array
balance = array.array('i', [300, 200, 150, 100])
print(balance.index(150))
Output:
2
bijwerken
Bij het bijwerken wordt de bestaande waarde op een bepaalde index vervangen door een eenvoudige toewijzingsoperator.Python arrays hebben geen update() methode.)
arrayName[index] = value
Voorbeeld: Om 150 (op index 2) te vervangen door 145:
import array
balance = array.array('i', [300, 200, 150, 100])
balance[2] = 145
print(balance)
Output:
array('i', [300, 200, 145, 100])
Doorkruisen
Je kunt een Python array met behulp van een lus:
import array
balance = array.array('i', [300, 200, 100])
for x in balance:
print(x)
Output:
300
200
100
Een array maken in C++
C++ is flexibeler dan Python Bij het maken van arrays kunt u arrays maken. C++ arrays Op drie manieren. De volgende code maakt een integer-array aan in C++ om rekeningsaldi op te slaan:
#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;
}
Manieren om een array in te declareren C++
Je kunt een array op drie manieren declareren, afhankelijk van de vereisten van je programma.
Declaratie op basis van grootte:
dataType arrayName[arraySize]; // e.g. int balance[3];
Declaratie met alleen array-items:
dataType arrayName[] = {array_items}; // e.g. int balance[] = { 300, 200, 100 };
Omschrijving op basis van maat en artikelen:
dataType arrayName[arraySize] = {array_items}; // e.g. int balance[3] = { 300, 200, 100 };
Hoe krijg ik toegang tot een specifieke arraywaarde in C++?
Toegang krijgen tot een arrayelement
#include <iostream>
using namespace std;
int main()
{
int balance[3] = { 300, 200, 100 };
cout << balance[1];
return 0;
}
Output:
200
reeks Operain C++
Anders Pythonin C++ Je moet zelf de logica programmeren voor invoeg-, verwijder-, zoek-, update- en doorloopbewerkingen.
Invoegen
De invoeglogica is als volgt: doorloop de elementen van de array, verschuif ze naar een hogere index en voeg vervolgens een nieuw element toe op de opgegeven index. Het onderstaande voorbeeld bevat vijf elementen en voegt 150 direct na de waarde 200 in.
#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]);
}
}
reeks Operain Java
Laten we een programma maken in Java die de grootte en de waarden van de array-elementen van de gebruiker accepteert.
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] + " ");
}
}
}
Een element in een wijzigen Java reeks
Een element bijwerken aan de hand van de 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] + " ");
}
}
}
Toegangselementen in een Java reeks
Print alle elementen van de array door de array te doorlopen.
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] + " ");
}
}
}






