GeeksforGeeks
en matrise er en samling av elementer som er lagret på sammenhengende minnesteder. Tanken er å lagre flere elementer av samme type sammen. Dette gjør det enklere å beregne posisjonen til hvert element ved ganske enkelt å legge til en forskyvning til en basisverdi, dvs. minneplasseringen til det første elementet i arrayet (vanligvis betegnet med navnet på arrayet). Basisverdien er indeks 0 og forskjellen mellom de to indeksene er forskyvningen.
for enkelhet kan vi tenke på en matrise som en trappeflåte hvor på hvert trinn er plassert en verdi (la oss si en av vennene dine). Her, du kan identifisere plasseringen av noen av dine venner ved å vite tellingen av trinnet de er på.
Husk: «Plassering av neste indeks avhenger av datatypen vi bruker».
bildet ovenfor kan sees på som en toppnivåvisning av en trapp hvor du er ved foten av trappen. Hvert element kan identifiseres unikt av indeksen i arrayet (på samme måte som du kunne identifisere vennene dine ved trinnet de var på i eksemplet ovenfor).
Arrays størrelse
i C-språk har array en fast størrelse som betyr at når størrelsen er gitt til den, kan den ikke endres, dvs. Årsaken var at for å utvide hvis vi endrer størrelsen, kan vi ikke være sikre (det er ikke mulig hver gang) at vi får neste minneplass til oss som gratis. Krympingen vil ikke fungere fordi arrayet, når det er deklarert, får minne statisk, og dermed er kompilatoren den eneste som ødelegger den.
typer indeksering i en matrise:
- 0 (nullbasert indeksering): det første elementet i matrisen er indeksert med et abonnement på 0
- 1 (enbasert indeksering): det første elementet i matrisen er indeksert med abonnementet på 1
- n (n-basert indeksering): basisindeksen til en matrise kan velges fritt. Vanligvis tillater programmeringsspråk som tillater n-basert indeksering også negative indeksverdier, og andre skalære datatyper som enumerasjoner eller tegn kan brukes som en matriseindeks.
Fordeler ved bruk av matriser:
- Matriser tillater tilfeldig tilgang til elementer. Dette gjør tilgang til elementer etter posisjon raskere.
- Arrays har bedre cache lokalitet som kan gjøre en ganske stor forskjell i ytelse.
- Matriser representerer flere dataelementer av samme type ved hjelp av ett enkelt navn.
Ulemper ved bruk av arrays: når du har erklært arrayet, kan du ikke endre størrelsen på grunn av statisk minne som er tildelt det. Her Er Innsetting og sletting vanskelig da elementene lagres i påfølgende minnesteder, og skiftoperasjonen er kostbar også.Nå hvis du tar et eksempel på implementering av datastrukturstabel Ved hjelp av array, er det noen åpenbare feil.
La OSS ta POP-operasjonen av stakken. Algoritmen ville gå noe sånt som dette.
- Sjekk for bunken underflow
- Redusere toppen med 1
så det vi gjør er at pekeren til det øverste elementet er reduksjon, noe som betyr at vi bare begrenser vårt syn faktisk at elementet forblir der og snakker opp i minneplassen hvis du har noen primitive datatype, så kan det være ok, men objektet til en matrise vil ta mye minne.
Eksempler –
// A character array in C/C++/Javachar arr1 = {'g', 'e', 'e', 'k', 's'};// An Integer array in C/C++/Javaint arr2 = {10, 20, 30, 40, 50};// Item at i'th index in array is typically accessed// as "arr". For example arr1 gives us 'g'// and arr2 gives us 40.
vanligvis kalles en rekke tegn en «streng», mens en rekke ints eller flyter kalles bare en matrise.
Programmer på Array
- Array lagrer dataelementer av samme datatype.
- Arrays kan brukes TIL CPU planlegging.
- Brukes til Å Implementere andre datastrukturer som Stabler, Køer, Hauger, Hash tabeller, etc.
hvis Du liker GeeksforGeeks og ønsker å bidra, kan du også skrive en artikkel med contribute.geeksforgeeks.org eller send artikkelen din til [email protected]. Se artikkelen din vises på GeeksforGeeks hovedside og hjelpe andre Geeks.
Leave a Reply