Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako odstrániť záznamy v Array C program

Jazyky ako Python , Ruby a Java môže , aby programovanie jednoduchšie . Ale keď príde čas na hrubú silu a rýchlosť , nie je tam žiadny moderný jazyk , ako je staré pohotovostnom režime : C. Avšak , že sila je v cene . Dokonca aj jednoduché operácie , ako je napríklad odstránenie objektov z poľa , môže byť trochu závratná podnik pre programátor používa pre dynamické pole veľkosti k dispozícii v mnohých moderných jazykov . Tu vytvoriť funkciu , ktorá môže byť použitá pre odstránenie prvku z celej číslo poľa . Pokyny dovolená 1

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 . "

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené