Articles

GeeksforGeeks

een array is een verzameling van items opgeslagen op aaneengesloten geheugenlocaties. Het idee is om meerdere items van hetzelfde type samen op te slaan. Dit maakt het makkelijker om de positie van elk element te berekenen door simpelweg een offset toe te voegen aan een basiswaarde, dat wil zeggen, de geheugenlocatie van het eerste element van de array (meestal aangeduid door de naam van de array). De basiswaarde is index 0 en het verschil tussen de twee indexen is de offset.

voor de eenvoud kunnen we een array zien als een vloot trappen waar op elke stap een waarde wordt geplaatst (laten we zeggen een van je vrienden). Hier, kunt u de locatie van een van uw vrienden te identificeren door gewoon te weten de telling van de stap ze op.
onthoud: “locatie van de volgende index hangt af van het gegevenstype dat we gebruiken”.

array

de bovenstaande afbeelding kan worden bekeken als een bovenaanzicht van een trap waar u zich aan de voet van de trap bevindt. Elk element kan uniek worden geïdentificeerd door zijn index in de array (op dezelfde manier als je je vrienden kon identificeren door de stap waarop ze waren in het bovenstaande voorbeeld).

Array ‘ s grootte

In C language array heeft een vaste grootte, wat betekent dat als de grootte eenmaal is gegeven aan het, het kan niet worden gewijzigd dat wil zeggen Je kunt het niet verkleinen noch kunt u het uitbreiden. De reden was dat Voor het uitbreiden als we de grootte veranderen we niet zeker kunnen zijn (het is niet elke keer mogelijk) dat we de volgende geheugenlocatie voor ons als gratis. Het krimpen zal niet werken omdat de array, wanneer gedeclareerd, geheugen statisch krijgt, en dus compiler is de enige die het te vernietigen.

typen indexering in een array:

  • 0 (nul-gebaseerde indexering): het eerste element van de array wordt geïndexeerd door een subscript van 0
  • 1 (één-gebaseerde indexering): het eerste element van de array wordt geïndexeerd door het subscript van 1
  • n (n-gebaseerde indexering): de basisindex van een array kan vrij worden gekozen. Meestal kunnen programmeertalen die n-gebaseerde indexering toestaan ook negatieve indexwaarden toestaan, en andere scalaire gegevenstypen zoals enumeraties of tekens worden gebruikt als een array-index.

voordelen van het gebruik van arrays:

  • Arrays staan willekeurige toegang tot elementen toe. Dit maakt de toegang tot elementen per positie sneller.
  • Arrays hebben een betere cache locatie die een vrij groot verschil in prestaties kan maken.
  • Arrays vertegenwoordigen meerdere gegevensitems van hetzelfde type met behulp van een enkele naam.

nadelen van het gebruik van arrays:
U kunt de grootte niet wijzigen, dat wil zeggen als u de array eenmaal hebt gedeclareerd, kunt u de grootte niet wijzigen vanwege het statische geheugen dat eraan is toegewezen. Hier invoegen en verwijderen zijn moeilijk als de elementen worden opgeslagen in opeenvolgende geheugenlocaties en de verschuiving operatie is duur te.
Neem nu een voorbeeld van implementatie van data structuur Stack met behulp van array er zijn een aantal duidelijke fout.

laten we de POP-operatie van de stack nemen. Het algoritme zou ongeveer zo gaan.

  1. Controleer op de stack underflow
  2. Decrement de top met 1

dus wat we doen is dat de pointer naar het bovenste element decrement is, wat betekent dat we gewoon onze weergave begrenzen.eigenlijk blijft dat element daar praten over de geheugenruimte als je een primitief datatype hebt dan zou het ok kunnen zijn, maar het object van een array zou veel geheugen nodig hebben.

voorbeelden –

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

gewoonlijk wordt een array van karakters een ‘string’ genoemd, terwijl een array van ints of floats gewoon een array wordt genoemd.

toepassingen op Array

  1. Array slaat gegevenselementen van hetzelfde gegevenstype op.
  2. Arrays kunnen gebruikt worden voor CPU planning.
  3. wordt gebruikt om andere datastructuren te implementeren zoals Stacks, wachtrijen, Heaps, Hash tabellen, enz.

als u GeeksforGeeks leuk vindt en wilt bijdragen, kunt u ook een artikel schrijven met contribute.geeksforgeeks.org of mail uw artikel naar [email protected]. zie uw artikel verschijnen op de GeeksforGeeks hoofdpagina en help andere Geeks.