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

Konseptdiagram av matriser
Konseptdiagram av matriser

Diagrammet ovenfor illustrerer at:

  1. En matrise er en beholder med elementer.
  2. Elementer har en spesifikk verdi og datatype, som "ABC", TRUE eller FALSE, etc.
  3. 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.

Forstรฅ syntaks for matriser

Forstรฅ syntaks for matriser
  • 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.

Syntaks for Array i Python

Syntaks for Array i Python

  1. Identifiser: spesifiser et navn som du vanligvis gjรธr for variabler
  2. Moduler: Python har en spesiell modul for รฅ lage arrays, kalt "array" - du mรฅ importere den fรธr du bruker den
  3. Metode: array-modulen har en metode for รฅ initialisere arrayen. Det krever to argumenter, typekode og elementer.
  4. Type kode: spesifiser datatypen ved รฅ bruke typekodene som er tilgjengelige (se listen nedenfor)
  5. 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.

Fรฅ tilgang til et matriseelement

Fรฅ tilgang til et matriseelement

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.

Fรฅ tilgang til et matriseelement

Fรฅ tilgang til et matriseelement

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

Oppsummer dette innlegget med: