optymalizacja czyszczenia tablicy

0

Mam tablicę 1000-elementową {4,5,2,6,7,19,0,0,0,0,...}. Pewnych n pierwszych komórek jest zapełnionych liczbami. Chcę zastąpić te liczby zerami. Którą metodą szybciej się to wykona?

int a[1000]={0};

czy

for (i=0; i<=(pewnego N <= od 1000); i++)
	a[i]=0;
0

Ale te dwie instrukcje to zupełnie co innego. Pierwsza tworzy NOWĄ tablicę a druga wpisuje zera do starej tablicy... Co wiecej nie rozumiesz inicjalizatora talbicy bo wystarczyłoby ci:

int a[1000]={};

Bo to co podajesz w klamrach to wartości dla KOLEJNYCH elementów tablicy, a jeśli jest ich za mało to reszta wypełni się 0.

0

Wiem że to co innego, ale zależy mi na tym żeby stare wartości nie zostały w tablicy. Które się szybciej wykona?

0

Ale rozumiesz że opcja 1 NIE KASUJE żadnych danych tylko tworzy NOWĄ tablicę? I jeśli już gdzieś miałeś w tym zasięgu deklarację tablicy 'a' to w ogóle nie będziesz mógł tego wykonać? A jeśli była w innym zasięgu to ta deklaracja tylko przykryje starą tablicę (ale nadal będzie ona istnieć w pamięci i czekać na lepsze czasy)... Oba wykonają się tak szybko że trudno tutaj mówić o jakiejś optymalizacji bo to tylko 1000 elementów, ale zapewne szybciej będzie stworzyć nową tablicę.

1 użytkowników online, w tym zalogowanych: 0, gości: 1