Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> C /C + + Programming >> Content
Hoe kan ik een index verwijderen in een dynamische array van integers gebruiken C + +
Dynamisch toegewezen arrays zijn een ruimte - efficiënte manier van het opslaan van variabele hoeveelheden gegevens in C + + . Ze zijn efficiënt georganiseerd en bieden voordelen in zowel de snelheid en de algehele memory footprint verbruikt door de datastructuur . Het proces van het verwijderen van een index van een dynamische matrix is vrij eenvoudig , maar een van de ondergang van dynamische arrays is dat de snelheid van het algoritme gebruikt om elementen van de array toevoegen of verwijderen traag is vergeleken met andere data - opslag methoden ( zoals gekoppelde lijsten , waarbij het ​​toevoegen en verwijderen van de array kan op constante tijd ) . De meest fundamentele algoritme voor het verwijderen van een index van een dynamische reeks loopt in lineaire tijd en is vrij eenvoudig te begrijpen . Wat je nodig hebt
tekst editor
Compiler
Toon Meer Aanwijzingen
1

Bepaal de uiteindelijke grootte van uw gewijzigde array. Het verwijderen van een enkele index zal de resulterende array size verminderen met 1 :

int newSize = currentArraySize - 1 ; kopen van 2

Maak een nieuwe dynamiek array die alle van de resterende getallen kan houden in de oude array. Gebruik het nieuwe formaat om dit te doen :

int * newArray = new int [ newSize ] ;
3

Maak tellers voor indexen in zowel de nieuwe als oude arrays . Deze zullen afzonderlijk worden opgehoogd als u de inhoud van de oude array naar de nieuwe te kopiëren :

int oldArrayIndex = 0 ;

int newArrayIndex
= 0 ;
4

Traverse beide arrays :

voor ( oldArrayIndex = 0 ; oldArrayIndex < currentArraySize ; + + oldArrayIndex ) op Twitter

{

//code te kopiëren gaat hier

}

Kopieer data 5 van de oude array om de nieuwe , oplopende teller van de nieuwe array met teller van de oude array totdat u de index te verwijderen bereiken . Wanneer u de index te bereiken om te verwijderen , geen gegevens te kopiëren en niet verhoog de nieuwe array teller . Met behulp van de lus van boven :

voor ( oldArrayIndex = 0 ; oldArrayIndex < currentArraySize ; + oldArrayIndex + ) op Twitter

{

if ( oldArrayIndex = indexToDelete ! ) < Br >

{

newArray [ newArrayIndex ] = oldArray [ oldArrayIndex ] ;

+ newArrayIndex + ;

}

}
< br >

Previous: Next:
  C /C + + Programming
·Wat is een C Code Fragment 
·Hoe te Parallel Arrays van geg…
·Hoe om te controleren voor one…
·Cocoa Touch Vs . Objective C 
·Hoe te sorteren in een Data Gr…
·Hoe kan ik een array in C init…
·Hoe te Debug Met GDB in Linux 
·Visual C Sharp Tekenreeksfunct…
·Hoe te BitArray converteren na…
  Related Articles
Hoe maak je een Combo Box Maak in Visual…
Hoe maak je een Check Box Maak in Visual…
Hoe maak je een tekstvak maken in Visual…
Hoe maak je een optie Box in Visual Basi…
Hoe maak je een schijf keuzelijst in Vis…
Hoe kan ik een keuzelijst maken in Visua…
Hoe kan ik een Picture Box Maak in Visua…
Hoe een bestand keuzelijst Maak in Visua…
Hoe kan ik een afbeelding Box Maak in Vi…
  Programmering Articles
·PL SQL Procedure Tutorial 
·Hoe de Gelijkenis Factor Bereken in Docu…
·Hoe te verwijderen White Space op Perl R…
·De VBS Script Kill Process 
·MySQL Java Tutorial 
·Wat zijn SGML kenmerken ? 
·HTML Vs . PHP Omleidingen 
·Hoe te Variabelen in ActionScript Declar…
·An Introduction to Python 3 
Copyright © Computer Kennis http://www.nldit.com