Utilizando vetor para cirar uam lista de nomes

1 resposta
J

Pessoal, como posso resolver esse problema?

class Sala{

Aluno lista[];

int offset;

Sala(){

lista = new Aluno[10];

offset = 0;

}

void adicionar(Aluno a){

}

}

Seu objeto é escrever o método adicionar, de tal forma que sempre é possível adicionar

alunos no vetor lista sem precisar eliminar nenhum aluno  adicionado. Explique porque

sua solução será capaz de adicionar mais de 70 alunos na Sala? Dica: utilize o atributo

offset para indicar quantos alunos tem dentro da lista (ou seja, o vetor).

1 Resposta

davidtiagoconceicao

Pelo que eu entendi, você vai precisar redimensionar o vetor conforme o número de elementos.
Ou seja, quando as 10 posições estão ocupadas, você vai precisar aumentar o tamanho do vetor (para 20, por exemplo).
Para isso, sugiro que você crie um novo vetor com o novo tamanho, copie o já existente para dentro deste novo e atribua o novo ao atributo da classe.

Edit: você pode melhorar um pouco este algoritmo para quando alcançar um percentual x do tamanho total seu vetor ser automaticamente redimensionado.

Criado 4 de dezembro de 2008
Ultima resposta 4 de dez. de 2008
Respostas 1
Participantes 2