• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

greed

Alternativa ao push_back

5 mensagens neste tópico

Boas,

Estou a tentar fazer um programa que guarda varios elementos.

Se fizer 2 push_back para um vector<node> aumenta-me logo 0.4s o tempo de execução.

class node{

int ola;

}

Existe alguma alternativa de forma a ficar mais eficiente? listas? (se sim arranjem-me pseudo codigo pffffff)

Obrigados in advance.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

é pa deixa tar. inda pensei em usar o insert mas tenho k viver cm o facto de um push_back afectar imenso na performance.

thx anyway. uma  :wallbash: para vcs!  :biggrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Depende. Não precisas de viver com isso. Tens é de perceber o que está a acontecer se quiseres melhorar a performance.

A classe vector tem uma estrutura de dados que é basicamente um array. Se fizeres um push_back com a capacidade do vector no máximo, este terá de alocar mais espaço, e esta acção para arrays é basicamente:

1. Criar novo array com mais espaço.

2. Copiar os elementos de um array para outro.

3. destruir o 1º array.

Se fizeres push_back sem que o vector esteja cheio, então, é impossivel ser mais rápido.

De qualquer forma, se fazes muitos inserts e deletes, a classe "list" seria mais apropriada.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora