sprog som Python , Ruby og Java kan gøre programmeringen nemmere. Men når det drejer sig tid til rå magt og hastighed , er der ingen moderne sprog som den gamle standby : C. Men at magt kommer på en pris. Selv simple operationer, såsom at fjerne objekter fra et array, kan være en lidt svimlende virksomhed til en programmør der anvendes til den dynamiske vifte resizing fås i mange moderne sprog. Her vil skabe en funktion, som kan bruges til at fjerne et element fra et heltal array. . Instruktioner
1
Åbn en teksteditor
2
Indsæt følgende funktion : Hej
void removeElement ( int * arr , int element , int * size ) {
int counter = 0;
for (int x = 0; x < * størrelse , ! x + +) {
if ( x = element ) { < br >
arr. [Tæller ] = arr [x ]
counter + +;
}
}
* size = * størrelse - 1 ;
}
Som du kan se , det tager en pointer til et array, det element nummer, der skal fjernes, og størrelsen af array. Den sidste variabel er meget vigtigt : C simpelthen ikke tillader at reducere størrelsen af en erklæret array ( eller øge den, for den sags skyld ). Stedet vil du nødt til at holde styr på størrelsen af array separat, og bruge " sizeof "-funktion , som kun en reference for array aktuelle maksimale størrelse. Størrelsen og matrix selv er begge bestået som pejlemærker , så vi kan få på deres adresser og ændre deres værdier uden funktionen
Derefter er logikken enkel: . Data til højre for den fjernede element er simpelthen forskudt til venstre.
3
Gem dit arbejde i " removeElement.cpp . "