Articles

GeeksforGeeks

en array är en samling objekt som lagras på angränsande minnesplatser. Tanken är att lagra flera objekt av samma typ tillsammans. Detta gör det lättare att beräkna positionen för varje element genom att helt enkelt lägga till en förskjutning till ett basvärde, dvs minnesplatsen för det första elementet i matrisen (vanligtvis betecknad med namnet på matrisen). Basvärdet är index 0 och skillnaden mellan de två indexen är förskjutningen.

För enkelhetens skull kan vi tänka på en array som en trappa där varje steg placeras ett värde (låt oss säga en av dina vänner). Här kan du identifiera platsen för någon av dina vänner genom att helt enkelt veta räkningen av steget de är på.
kom ihåg:”platsen för nästa index beror på vilken datatyp vi använder”.

array

ovanstående bild kan ses som en vy på toppnivå av en trappa där du befinner dig vid trappans botten. Varje element kan identifieras unikt med sitt index i matrisen (på samma sätt som du kan identifiera dina vänner med det steg som de var på i exemplet ovan).

arrays storlek

i C-språk array har en fast storlek betydelse när storleken ges till det, det kan inte ändras, dvs du kan inte krympa det inte heller kan du expandera den. Anledningen var att för att expandera om vi ändrar storleken kan vi inte vara säkra ( det är inte möjligt varje gång) att vi får nästa minnesplats till oss som gratis. Krympningen fungerar inte eftersom matrisen, när den deklareras, får minne statiskt, och därmed är kompilatorn den enda som förstör den.

typer av indexering i en array:

  • 0 (nollbaserad indexering): det första elementet i arrayen indexeras av ett subscript av 0
  • 1 (enbaserad indexering): det första elementet i arrayen indexeras av subscript av 1
  • n (n-baserad indexering): basindexet för en array kan fritt väljas. Vanligtvis tillåter programmeringsspråk som tillåter n-baserad indexering också negativa indexvärden, och andra skalära datatyper som uppräkningar eller tecken kan användas som ett arrayindex.

fördelar med att använda arrays:

  • Arrays tillåter slumpmässig åtkomst till element. Detta gör åtkomst till element genom position snabbare.
  • Arrays har bättre cache-lokalitet som kan göra en ganska stor skillnad i prestanda.
  • arrayer representerar flera dataobjekt av samma typ med ett enda namn.

nackdelar med att använda arrays:
Du kan inte ändra storleken, dvs när du har deklarerat matrisen kan du inte ändra dess storlek på grund av statiskt minne tilldelat det. Här är det svårt att infoga och radera eftersom elementen lagras på på varandra följande minnesplatser och växlingsoperationen är också dyr.
Nu om ta ett exempel på genomförandet av datastruktur Stack med array finns det några uppenbara fel.

Låt oss ta POP-funktionen av stapeln. Algoritmen skulle gå ungefär så här.

  1. kontrollera för stacken underflöde
  2. minska toppen med 1

så det vi gör är att pekaren till det översta elementet är minskning vilket betyder att vi bara begränsar vår uppfattning faktiskt att elementet stannar där och pratar om minnesutrymmet om du har någon primitiv datatyp så kan det vara ok men föremålet för en array skulle ta mycket minne.

exempel –

// 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.

vanligtvis kallas en rad tecken en ”sträng”, medan en rad ints eller floats kallas helt enkelt en array.

program på Array

  1. Array lagrar dataelement av samma datatyp.
  2. arrayer kan användas för CPU-schemaläggning.
  3. används för att implementera andra datastrukturer som staplar, köer, högar, hashtabeller etc.

om du gillar GeeksforGeeks och vill bidra kan du också skriva en artikel med contribute.geeksforgeeks.org eller skicka din artikel till [email protected]. se din artikel som visas på GeeksforGeeks huvudsida och hjälp andra nördar.