linguaggi come Python , Ruby e Java possono rendere più facile la programmazione . Ma quando arriva il momento per la potenza pura e la velocità , non esiste un linguaggio moderno come il vecchio standby : C. Tuttavia , questo potere ha un prezzo . Anche operazioni semplici, come la rimozione di oggetti da un array, può essere un impresa alquanto vertiginosa per un programmatore utilizzato per il ridimensionamento matrice dinamica disponibile in molte lingue moderne . Qui potrete creare una funzione che può essere utilizzata per rimuovere un elemento da un array di interi . Istruzioni .
1
Aprire un editor di testo
2
Incollare la seguente funzione :
vuoto removeElement (int * arr , elemento int , int * size ) {
int counter = 0;
for (int x = 0; x < * size ; ! x + + ) {
se ( x = elemento ) {
arr [ contatore ] = arr [ x ] ;
contatore + + ; }
}
* size = * size - 1 ;
}
Come si può vedere , questo richiede un puntatore ad un array , il numero di elemento da rimuovere , e la dimensione della matrice . L' ultima variabile è molto importante : C semplicemente non permette di ridurre le dimensioni di una matrice dichiarata ( o aumentando , per quella materia . ) , Invece, è necessario tenere traccia della dimensione della matrice separatamente , e utilizzare il " sizeof funzione ", come soltanto un riferimento per la dimensione massima corrente della matrice. La dimensione e la matrice stessa sono entrambi passati come puntatori , così possiamo ottenere i loro indirizzi e modificarne i valori al di fuori della funzione
Dopo di che , la logica è semplice : . Dati a destra dell'elemento rimosso è semplicemente spostato a sinistra .
3
salvare il lavoro in " removeElement.cpp . "