Talen zoals Python , Ruby en Java kunnen maken het programmeren eenvoudiger . Maar wanneer het tijd voor pure kracht en snelheid , is er geen moderne taal zoals de oude stand-by : C. Echter , dat vermogen komt op een prijs . Zelfs eenvoudige handelingen , zoals het verwijderen van objecten uit een array , kan een enigszins duizelingwekkende onderneming een programmeur gebruikt om de dynamische reeks schalen in veel moderne talen . Hier vindt u een functie die kan worden gebruikt om een element uit een integer -array te verwijderen maken . . Instructies 1 Open een teksteditor kopen van 2 Plak de volgende functie : leegte removeElement ( int * arr , int element , int * grootte ) { int teller = 0; voor ( int x = 0 ; x < * grootte; ! x + + ) { if ( x = element ) { < br > arr [ teller ] = arr [ x ] ; toonbank + + ; } } * size = * size - 1 ; } Zoals je kunt zien , dit duurt een pointer naar een array , het element dat moet worden verwijderd , en de grootte van de array . De laatste variabele is erg belangrijk : C gewoon niet mogelijk het verminderen van de grootte van een opgegeven array ( of vooruit spelen , wat dat betreft . ) In plaats daarvan moet u bij te houden van de grootte van de matrix afzonderlijk te houden , en gebruik de " sizeof " functie slechts als indicatie de array huidige maximale grootte . De grootte en de matrix zich beide doorgegeven als pointers , zodat we kunnen krijgen hun adressen en hun waarden veranderen buiten de functie Daarna is de logica is simpel : . Data rechts van de verwijderde element gewoon verschoven naar links . 3 Sla uw werk in " removeElement.cpp . "
|