'n Omvattende gids oor Arrays-DS, Java, C, Python

Wat is Arrays

'n Skikking is 'n versameling data met soortgelyke datatipes wat in 'n aaneenlopende geheueplek gestoor word. Datatipes kan 'n heelgetal, float, String, ens wees. 'n Skikking word in rekenaarprogrammering gebruik om die data maklik te sorteer en te soek. Ons kan die data ophaal deur hul indeksering. Kom ons sê ons het n elemente in 'n skikking, en die indeksering begin met 0 en gaan tot N-1 posisie op 'n inkrementele wyse. Die verskil tussen die twee indekse word offset genoem. Verwys asseblief na die onderstaande prent.

Voorbeeld van Array

Skikkings Voorbeeld
skikkings

Gebruike van Array

  1. Kom ons sê ons benodig 100 veranderlikes in 'n program. Is dit haalbaar om 100 veranderlikes soos v1,v2,v3,….,v100 te verklaar? In plaas daarvan kan ons 'n skikking gebruik, soos v[0],v[1],...,v[100], wat dieselfde werk sal doen.
  2. 'n Skikking kan gebruik word op 'n plek waar ons homogene datatipes soos biblioteekbestuurstelsels benodig.
  3. 'n Algoritme soos soek, sorteer gebruik Array

Skikking Eienskappe

  1. 'n Skikking stoor homogene datatipes, en die grootte van die data is dieselfde. Byvoorbeeld, as ons die heelgetaldatatipe stoor, moet al die data 'n heelgetal wees, en die grootte daarvan is 4.
  2. Data word in 'n aaneenlopende geheueplek gestoor.
  3. Ons kan die data ophaal volgens hul indeks.

Skikking Voordele

  1. Die indeks het direk toegang tot enige element in 'n skikking. Byvoorbeeld, as ons lug[0] gebruik, sal dit die element van die 0de posisie terugstuur. Net so sal are[5] die element van die 5de posisie in die skikking terugstuur.
  2. Om deur 'n skikking te beweeg is baie maklik aangesien ons net die indeks verhoog. Gestel enige Skikking begin met 0de posisie en het n getalle van die waarde wat ons nodig het om die waarde te verhoog tot N-1de posisie.

Tipes indeksering beskikbaar in Array

  1. 0-gebaseerde indeksering: Die eerste element van die skikking sal met die nulde posisie begin. Vir Skikking A sal die eerste element A[0] en as dit n getalle het, sal die laaste element A[n-1] wees
  2. 1 – gebaseerde indeksering: Die eerste element van die skikking sal begin met die 1ste posisie. Vir Skikking A sal die eerste element A[1], en as dit n getalle het, sal die laaste element A[n] wees
  3. N-gebaseerde indeksering: Die eerste element kan in enige ewekansige indeks gestoor word.
Skikking geheue toewysing

Tipes skikkings

Daar is hoofsaaklik twee tipes Array beskikbaar.

Tydskompleksiteit van Skikking

bedrywighedeGem. gevalErgste geval
Toegang opsO (1)O (1)
SoekO (n)O (n)
Voeg ops inO (n)O (n)
Vee opsO (n)O (n)

Nou sal ons bespreek hoe om Array in Java, Python en C te verklaar

Hoe om skikkings in Java te verklaar

Om die lineêre of eendimensionele skikking te verklaar, volg asseblief die onderstaande proses.

/Om die skikking String[] naam te verklaar; //Om die waarde String[] name={"Paul","Adam","Fatima","Ricky"} te verklaar en toe te ken; //Om 'n heelgetalskikking te skep, moet die gedefinieerde datatipe 'n heelgetal wees. Sien asseblief hieronder: int[] num={10,15,20,30,35,40}; //Om die skikking dinamies te verklaar int[] num=new int[10]; //Om 'n waarde toe te ken vir enige indeksgetal[0]=10; getal[1]=20; 

Hoe om Arrays in Python te verklaar

#Om die waardenaam te verklaar en toe te ken=["Paul","Adam","Fatima","Ricky"] #Om enige waardenaam toe te ken[0]="XYZ"

Hoe om skikkings in C te verklaar

//Om waarde int num[5]={0,5,11,16,21} te verklaar en toe te ken;

Nou sal ons bespreek hoe om toegang tot skikkingselemente in Java, python en C te verkry

Hoe om toegang tot die Arrays-element in Java te kry

//Om die waarde String[] name={"Paul","Adam","Fatima","Ricky"} te verklaar en toe te ken; //Om toegang te verkry tot skikkingselement System.out.println(naam[0]);

Hoe om toegang tot die Arrays-element in Python te kry

#Om die waarde te verklaar en toe te ken naam=["Paul","Adam","Fatima","Ricky"] #Om toegang tot die waarde var=naam[0] te verkry

Hoe om toegang te verkry tot Arrays-element in C

//Om waarde int num[5]={0,5,11,16,21} te verklaar en toe te ken; //Om toegang te verkry tot die waarde printf("%d\n", waardes[0]);

Nou sal ons bespreek hoe om skikkinglengte in Java, python en C te gebruik

Hoe om Arrays Length in Java te gebruik

String[] name={"Paul","Adam","Fatima","Ricky"}; //om die lengte te kry int size=name.length; System.out.printn(grootte);

Hoe om Arrays Length in Python te gebruik

#Om die waarde te verklaar en toe te ken naam=["Paul","Adam","Fatima","Ricky"] size= len(naam)

Hoe om Arrays Length in C te gebruik

//Om waarde int num[5]={0,5,11,16,21} te verklaar en toe te ken; printf("Grootte van int skikking:%d \n",sizeof(num)/sizeof(num[0]));

Nou sal ons bespreek hoe om skikking in Java, python en C in te lus

Hoe om 'n lus in Array in Java te gebruik

publieke statiese leemte hoof(String[] args){ int[] num=nuwe int[10]; //Om die waarde String[] name={"Paul","Adam","Fatima","Ricky"} te verklaar en toe te ken; System.out.println(naam[0]); //vir lus vir(int i=0;i

Hoe om lus in Array in Python te gebruik

name=["Paul","Adam","Fatima","Ricky"] vir i in naam: druk(i)

Hoe om 'n lus in Array in C te gebruik

#insluit int main() { //Om waarde int num[5]={10,16,21,26,31} te verklaar en toe te ken; for(int i=0;i<5;i++){ printf("%u\n", num[i]); } gee 0 terug; }

Enkele belangrike Array-onderhoudvrae

Vraag 1: Kan ons die Skikking-grootte in Java verander?

Ans: Nee, ons kan nie die Array-grootte verander nie. Sodra dit geskep is, word die grootte van die Array vasgestel. As jy die grootte moet verander, moet jy ArrayList gebruik.

Qn 2. Wat is ArrayStoreExcpetion?

Ans: Skikking stoor soortgelyke datatipe. As ons probeer om 'n ander tipe data in 'n skikking te stoor, gee dit 'n uitsondering "ArrayStoreExcpetion." Byvoorbeeld:

publieke statiese leemte hoof(String[] args){ int[] num=nuwe int[5]; num[0]=12.5;//Samsteltyd Uitsondering } publieke statiese leemte hoof(String[] args){ Object[] num=nuwe String[5]; //num[0]=12.5;//Stel tyd Uitsondering num[1]=nuwe Dubbel(12.5); //Runtime Exception java.lang.ArrayStoreException: java.lang.Double }

Qn 3. wat is ArrayIndexOutOfBoundsException?

Ans: ArrayIndexOutOfBoundsException kom as gebruikers probeer om toegang te verkry tot 'n skikkingsindeks wat negatief of meer as die skikking is. As die Array-indeks met 0 begin en grootte is lengte, sal enigiets minder as 0 en groter as lengte-1 ArrayIndexOutOfBoundsException gee.

Qn 4. Wat is die verskil tussen ArrayStoreExcpetion en ArrayIndexOutOfBoundsException?

Ans: Beide uitsonderings gooie tydens looptyd. ArrayStoreExcpetion gooi wanneer datatipe nie ooreenstem met Array-datatipe nie, terwyl ArrayIndexOutOfBoundsException gooi wanneer toegang tot indeks nie in die reeks is nie.

Qn 5. Hoe om 'n skikking met skikkingsgrootte in Java te inisialiseer?

Ans:

 int[] num=nuwe int[5];//5 is die Skikking grootte

Qn 6. Hoe om 'n skikking met voorafbepaalde waarde te inisialiseer?

Ans:

int[] getal={0,5,11,16,21};

Vraag 7. Hoe om 'n skikking in Java te sorteer?

Antwoord: Gebruik Arrays se voorafbepaalde metode Arrays.sort(), kan ons die skikking sorteer.

publieke statiese leemte hoof(String[] args){ int[] num={0,5,11,16,21}; Arrays.sort(getal); vir(int i=0;i

Qn 8. Hoe om 'n skikking na 'n string om te skakel?

Antwoord: Gebruik Arrays se voorafbepaalde metode Arrays.toString(), kan ons die Array sorteer.

publieke statiese leemte hoof(String[] args){ int[] num={0,5,11,16,21}; System.out.print(Arrays.toString(num)); }

Vraag 9. Hoe om 'n skikking te kopieer?

Antwoord: Gebruik System.arrayCopy(), gebruikers kan die Array kopieer. Andersins kan u die skikking handmatig kopieer deur die skikkingselemente te herhaal.

Qn 10. Kan Generics in 'n skikking gebruik word?

Ans. Nee, ons kan nie Generics met Array gebruik nie.

Vraag 12. Wat is die nadele van 'n skikking?

Ans:

  1. Die grootte van die skikking is staties, ons kan nie die grootte verander sodra dit geïnisieer is nie.
  2. Bewerkings soos invoeging en uitvee is moeilik om in 'n skikking uit te voer.
  3. As die gebruiker meer geheue as die vereiste definieer, word oortollige geheue vermors.
  4. Die datatipe wat in skikking gebruik word, moet dieselfde wees. Byvoorbeeld, as ons gebruik int as 'n datatipe kan ons nie stoor nie dryf, Snaar in dieselfde skikking. Dit moet altyd wees int net.

Gevolgtrekking

Tot nou toe het ons die basiese beginsels van skikkings. In die volgende onderwerp sal ons oor 'n paar belangrike probleme en oplossings van Array skryf. Klik asseblief hierop om deur ons volledige tutoriale oor datastrukture te gaan skakel. Vir meer inligting vir hierdie afdeling, verwys hierna skakel.

Scroll na bo