quarta-feira, 14 de setembro de 2011

Exercício da aula 1.

O exercício da primeira aula era bem simples, fazer um método resize() para uma implementação de Array disponibilizada pelo professor.

int Array::resize(unsigned novoTamanho) {
int numValDescartados = 0;

int* novoArray = new int[novoTamanho];


if (novoTamanho < _tamanho) {
numValDescartados = _tamanho - novoTamanho;
memcpy(novoArray,_dados,sizeof(int) * novoTamanho);
}
else {
memcpy(novoArray,_dados,sizeof(int) * _tamanho);
}

delete[](_dados);

_tamanho = novoTamanho;
_dados = novoArray;


return numValDescartados;
}



E a saída gerada foi com essa implementação foi: 

(5)[ 0 1 2 3 4 ]
resize(4) = 1
(4)[ 0 1 2 3 ]
resize(6) = 0
(6)[0 1 2 3 4 0 ]
0 2 4 6 8 10


Nenhum comentário:

Postar um comentário