Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Otvorte textový editor
2
vložte nasledujúci funkciu : .
Void removeElement ( int * arr , int prvok , veľkosť int * ) {
int counter = 0 ;
for ( int x = 0 ; x < * rozmer ; ! x + + ) {
if ( x = element ) {
arr [ counter ] = arr [ x ] ;
counter + + ;
}
}
* size = * veľkosť - 1 ;
}
Ako môžete vidieť , to trvá ukazovateľ na pole , číslo prvku , ktoré majú byť odstránené , a veľkosť poľa . Posledný premennou je veľmi dôležité : ( . Alebo ju zvýšiť , keď na to príde ) , C jednoducho neumožňuje zníženie veľkosti deklarované pole Namiesto toho budete musieť sledovať veľkosti poľa samostatne , a použiť " sizeof funkcie iba ako referencia pre aktuálnu maximálnu veľkosť poľa je " . . Veľkosť a pole samo o sebe sú oba odovzdaný ako odkazy , takže sa môžeme dostať na ich adresy a meniť ich hodnoty mimo funkcie
Za to , že logika je jednoduchá : údaje na pravej strane odobratého prvku je jednoducho posunul doľava .
3
Uložte svoju prácu v " removeElement.cpp . "