Matrise i datastruktur: Hva er matriser Operasjoner [Eksempler]
Hva er Array i datastruktur?
An matrise er en datastruktur for lagring av mer enn ett dataelement som har en lignende datatype. Elementene i en matrise er allokert pรฅ tilstรธtende minneplasseringer. Disse minnestedene kalles elementer av den matrisen. Det totale antallet elementer i en matrise kalles lengde.
Detaljene til en matrise er tilgjengelig om dens posisjon. Denne referansen kalles indeks or senket.
Konsept av Array

Diagrammet ovenfor illustrerer at:
- En matrise er en beholder med elementer.
- Elementer har en spesifikk verdi og datatype, som "ABC", TRUE eller FALSE, etc.
- Hvert element har ogsรฅ sin egen indeks, som brukes for รฅ fรฅ tilgang til elementet.
OBS:
- Elementer lagres pรฅ sammenhengende minneplasseringer.
- En indeks er alltid mindre enn det totale antallet matriseelementer.
- Nรฅr det gjelder syntaks, kan enhver variabel som er deklarert som en matrise lagre flere verdier.
- Nesten alle sprรฅk har samme forstรฅelse av matriser, men har forskjellige mรฅter รฅ deklarere og initialisere dem pรฅ.
- Imidlertid vil tre deler alltid forbli vanlige i alle initialiseringene, dvs. arraynavn, elementer og datatypen for elementer.
Fรธlgende diagram illustrerer syntaksen for รฅ deklarere en rekke i Python og C++ for รฅ vise at forstรฅelsen forblir den samme selv om syntaksen kan variere litt pรฅ forskjellige sprรฅk.
- Array navn: nรธdvendig for enkel referanse til samlingen av elementer
- Data-type: nรธdvendig for typekontroll og dataintegritet
- elementer: dette er dataverdiene som finnes i en matrise
Hvorfor trenger vi arrays?
Her er noen grunner til รฅ bruke arrays i datastruktur:
- Matriser er best for รฅ lagre flere verdier i en enkelt variabel
- Arrays er bedre til รฅ behandle mange verdier enkelt og raskt
- Det er enklere รฅ sortere og sรธke i verdiene i matriser
Opprette en matrise i Python
In Python, matriser er forskjellige fra lister; lister kan ha matriseelementer av datatyper, mens matriser bare kan ha elementer av samme datatype.
Python har en egen modul for hรฅndtering av arrays kalt array, som du mรฅ importere fรธr du begynner รฅ jobbe med dem.
OBS: Matrisen mรฅ inneholde reelle tall som heltall og flyter, ingen strenger tillatt.
Fรธlgende kode illustrerer hvordan du kan opprette en heltallsmatrise i python for รฅ lagre kontosaldo:
import array
balance = array.array('i', [300,200,100])
print(balance)
Mรฅter รฅ erklรฆre en matrise pรฅ Python
Du kan erklรฆre en matrise i Python mens du initialiserer den ved รฅ bruke fรธlgende syntaks.
arrayName = array.array(type code for data type, [array,items])
Fรธlgende bilde forklarer syntaksen.
- Identifiser: spesifiser et navn som du vanligvis gjรธr for variabler
- Moduler: Python har en spesiell modul for รฅ lage arrays, kalt "array" - du mรฅ importere den fรธr du bruker den
- Metode: array-modulen har en metode for รฅ initialisere arrayen. Det krever to argumenter, typekode og elementer.
- Type kode: spesifiser datatypen ved รฅ bruke typekodene som er tilgjengelige (se listen nedenfor)
- Elements: spesifiser matriseelementene innenfor hakeparentesene, for eksempel [130,450,103]
Fรธlgende tabell illustrerer typekodene som er tilgjengelige for stรธttede datatyper:
| Skriv inn kode | C Type | Python typen | Minimumsstรธrrelse i byte |
|---|---|---|---|
| 'c' | chariot | karakter | 1 |
| 'B' | usignert rรธye | int | 1 |
| 'b' | signert rรธye | int | 1 |
| 'du' | Py_UNICODE | Unicode-karakter | 2 |
| 'H' | signert kort | int | 2 |
| 'H' | usignert kort | int | 2 |
| 'Jeg' | signert int | int | 2 |
| 'JEG' | usignert int | lang | 2 |
| 'l' | signert lang | int | 4 |
| 'L' | usignert lang | lang | 4 |
| 'F' | flyte | flyte | 4 |
| 'd' | dobbelt | flyte | 8 |
Hvordan fรฅ tilgang til en spesifikk matriseverdi?
Du kan fรฅ tilgang til et hvilket som helst matriseelement ved รฅ bruke indeksen.
syntax
arrayName[indexNum]
Eksempel:
balance[1]
Fรธlgende bilde illustrerer det grunnleggende konseptet med รฅ fรฅ tilgang til matriselementer etter deres indeks.
Her har vi fรฅtt tilgang til den andre verdien av matrisen ved รฅ bruke dens indeks, som er 1. Utgangen av denne vil vรฆre 200, som i utgangspunktet er den andre verdien til den balanserte matrisen.
import array
balance = array.array('i', [300,200,100])
print(balance[1])
UTGANG
200
Array Operasjoner
Matrisemodulen til Python har separate funksjoner for รฅ utfรธre array-operasjoner. Dette er en destruktiv metode for รฅ operere med matriser, noe som betyr at modifikasjonen vil bli lagret i matrisevariabelen.
innfelt
Med denne operasjonen kan du sette inn ett eller flere elementer i en matrise pรฅ begynnelsen, slutten eller en hvilken som helst gitt indeks av matrisen. Denne metoden forventer to argumenter indeks og verdi.
syntax
arrayName.insert(index, value)
Eksempel:
La oss legge til en ny verdi rett etter det andre elementet i matrisen. For รธyeblikket har saldomatrisen vรฅr tre elementer 300, 200 og 100. Sรฅ hva er indeksen til det andre matriseelementet med en verdi pรฅ 200 hvis du sa 1.
For รฅ sette inn den nye verdien rett "etter" indeks 1, mรฅ du referere til indeks 2 i innsettingsmetoden din, slik:
import array
balance = array.array('i', [300,200,100])
balance.insert(2, 150)
Nรฅ, for รฅ bekrefte om den nye verdien er satt inn, skriv inn matrisenavnet og trykk Enter pรฅ tastaturet:
import array
balance = array.array('i', [300,200,100])
balance.insert(2, 150)
print(balance)
UTGANG
array('i', [300,200,150,100])
Delete
Med denne operasjonen kan du slette ett element fra en matrise etter verdi. Denne metoden godtar bare ett argument, verdi. Etter รฅ ha kjรธrt denne metoden, blir matriseelementene omorganisert, og indeksene tilordnes pรฅ nytt.
syntax
arrayName.remove(value)
Eksempel:
La oss fjerne verdien av 150 fra matrisen. For รธyeblikket har balansematrisen vรฅr fire elementer 300, 200, 150 og 100. Sรฅ, for รฅ fjerne 150 fra matrisen, trenger vi bare รฅ skrive 150 i metodeargumentet. Enkelt, ikke sant?
import array
balance = array.array('i', [300,200,100])
balance.insert(2, 150)
print(balance)
balance.remove(150)
Nรฅ, for รฅ bekrefte om verdien er slettet, skriv inn matrisenavnet og trykk Enter pรฅ tastaturet:
import array
balance = array.array('i', [300,200,100])
balance.insert(2, 150)
print(balance)
balance.remove(150)
print(balance)
UTGANG
array('i', [300,200,100])
SรK
Med denne operasjonen kan du sรธke etter et element i en matrise basert pรฅ verdien. Denne metoden godtar bare ett argument, verdi. Dette er en ikke-destruktiv metode, noe som betyr at den ikke pรฅvirker matriseverdiene.
syntax
arrayName.index(value)
Eksempel:
La oss sรธke etter verdien av 150 i matrisen. For รธyeblikket har balansematrisen vรฅr fire elementer 300, 200, 150 og 100. Sรฅ for รฅ sรธke 150 i matrisen trenger vi bare รฅ skrive 150 i metodeargumentet. Det er ganske enkelt. Denne metoden returnerer indeksen for den sรธkte verdien.
import array
balance = array.array('i', [300,200,150,100])
print(balance.index(150))
UTGANG
2
OPPDATERING
Denne operasjonen er ganske lik innsettingsmetoden, bortsett fra at den vil erstatte den eksisterende verdien ved den gitte indeksen. Dette betyr ganske enkelt รฅ tildele en ny verdi ved den gitte indeksen. Denne metoden forventer to argumenter indeks og verdi.
syntax
arrayName.udpate(index, value)
Eksempel:
Anta at matrisen vรฅr har fire elementer 300, 200, 150 og 100, og vi รธnsker รฅ erstatte 150 med 145. Sรฅ hva er indeksen 150?
Kudos, hvis du sa 2.
For รฅ erstatte 150 som har indeks 2, mรฅ du referere til indeks 2 ved รฅ bruke enkel tilordningsoperator, som denne:
import array
balance = array.array('i', [300,200,150,100])
balance[2] = 145
Nรฅ, for รฅ bekrefte om verdien er oppdatert, skriv inn matrisenavnet og trykk Enter pรฅ tastaturet:
import array
balance = array.array('i', [300,200,150,100])
balance[2] = 145
print(balance)
UTGANG
array('i', [300,200,145,100])
Traverse
Du kan krysse en python-array ved รฅ bruke lรธkker, som denne:
import array
balance = array.array('i', [300,200,100])
for x in balance:
print(x)
UTGANG
300 200 100
Opprette en matrise i C++
C++ Sprรฅk er mer fleksibel enn Python nรฅr det gjelder รฅ lage matriser. Du kan lage C++ arrays pรฅ tre mรฅter nevnt foran.
Fรธlgende kode illustrerer hvordan du kan lage en heltallsmatrise i C++ for รฅ lagre kontosaldo:
#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รฅter รฅ erklรฆre en matrise pรฅ C++
Du kan deklarere en matrise i tre syntaksvarianter. Hvilken passer ditt program; dette valget er basert pรฅ programkravene dine.
Deklarasjon etter stรธrrelse
syntax
dataType arrayName[arraySize];
Eksempel:
int balance[3];
Kun erklรฆringsinitialisering array-elementer
syntax
dataType arrayName[] = {array, items};
Eksempel:
int balance[] = { 300, 200, 100 };
Erklรฆring etter stรธrrelse og initialiseringsarray-elementer
syntax
dataType arrayName[arraySize] = {array, items};
Eksempel:
int balance[3] = { 300, 200, 100 };
Hvordan fรฅ tilgang til en spesifikk matriseverdi?
Du kan fรฅ tilgang til et hvilket som helst matriseelement ved รฅ bruke indeksen.
syntax
arrayName[indexNum]
Eksempel:
balance[1]
Fรธlgende bilde illustrerer det grunnleggende konseptet med รฅ fรฅ tilgang til matriselementer etter deres indeks.
Her har vi fรฅtt tilgang til den andre verdien av matrisen ved รฅ bruke dens indeks, som er 1. Utgangen av denne vil vรฆre 200, som i utgangspunktet er den andre verdien av balansematrisen.
#include <iostream>
using namespace std;
int main()
{
int balance[3] = { 300, 200, 100 };
cout << balance[1];
return 0;
}
Produksjon
200
Array Operasjoner i C++
I motsetning til Pythoni C++ du mรฅ programmere logikken selv for รฅ utfรธre innsetting, sletting, sรธkeoppdatering og traversering pรฅ C++ matriser.
innfelt
Logikken for innsettingsoperasjonen gรฅr som fรธlger:
- slรธyfe gjennom array-elementene
- flytte dem til en stรธrre indeks
- legg til et nytt matriseelement ved en gitt indeks
I det fรธlgende eksempelet har vi 5 elementer i saldomatrisen, og vi รธnsker รฅ legge til en ny vare like etter verdien av 200. Dette betyr at vi mรฅ flytte alle elementene etter 200 til en stรธrre indeks, og deretter sette inn vรฅr nye verdi pรฅ 150.
#include <iostream>
#include <stdio.h>
main() {
int pos = 2;
int size = 4;
int balance[] = {300,200,100,50,0};
printf("BEFORE INCREMENT: \n");
for(int i = 0; i<5; i++) {
printf("%d\n",balance[i]);
}
/* FOR SHIFTING ITEMS TO A GREATER INDEX */
for(int i = size; i >= pos; i--) {
balance[i+1]=balance[i];
}
/* FOR INSERTING VALUE AT OUR DESIRED INDEX */
balance[pos] = 150;
printf("AFTER INCREMENT: \n");
/* FOR PRINTING THE NEW ARRAY */
for(int i = 0; i<6; i++) {
printf("%d\n",balance[i]);
}
}
Produksjon
BEFORE INCREMENT 300 200 100 50 0 AFTERINCREMENT 300 200 150 100 50 0
Array Operasjoner i Java
La oss lage en programmering i Java, i dette array-program i Java vi aksepterer stรธrrelsen og verdien av array-elementene fra brukeren.
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]+" ");
}
}
}
Produksjon:-
Enter the size of the array 5 Enter Elements in the array 1 2 3 4 5 Elements in the array 1 2 3 4 5
Endre element i matrise:-
Oppdater et element etter den gitte indeksen.
Program i Java for hvordan du endrer elementer i en matrise
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 where you want to change in an array");
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]+" ");
}
}
}
Produksjon:-
Array Elements Before modify 1 2 3 4 5 Enter the position where you want to change in an array 2 Enter the value 8 Array Elements After modify 1 2 8 4 5
Access Element in Array:-
Skriv ut alle array-elementer.
Program i Java for hvordan du krysser i array
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]+" ");
}
}
}
Produksjon:-
Array Elements are:- 1 2 3 4 5
Sammendrag
- En matrise er en datastruktur for lagring av flere dataelementer som har en lignende datatype
- Identifikator, datatype, matriselengde, elementer og indeks er hoveddelene av en matrise
- Bruk indeksen for รฅ behandle verdiene til matriseelementer
- Arrays har utmerket stรธtte for รฅ holde datatypen intakt
- Pรฅ de fleste sprรฅk opprettes en matrise ved รฅ spesifisere en identifikator, datatype og elementer som skal inkluderes
- Matriser er best for รฅ behandle et stort antall verdier, og for rask sortering og sรธking
- Python har moduler og innebygde metoder for รฅ utfรธre grunnleggende array-operasjoner som รฅ sette inn, slette, sรธke, oppdatere og gรฅ gjennom
- C++ trenger รฅ definere programmer for grunnleggende array-operasjoner som รฅ sette inn, slette, sรธkeoppdatering og traversering
