wydajne przeniesienie zawartosci vectora do drugiego vectora

0

Witam napisałem na zaliczenie program używający algorytmu "magicznych piątek". Niestety dla większych danych wejściowych wynik mojego programu to przekroczenie czasu. Funkcja magic5 powinna być wywoływana rekurencyjnie, a ponieważ przekazywanie argumentu jakim jest vector do funkcji i zwracanie vectora jest dla mnie czymś jeszcze mało zrozumiałym, zrobiłem całość w pętli z tymże niestety muszę przepisywać zawartość dość sporego wektora do drugiego.

Tu pojawia się moje pytanie czy zamiast czegoś takiego:
(program powinien wywolac funkcje magic5 dla vectora mniejsi ale ponieważ robię w pętli musze ten vector przepisać do vectora ludzie i powrócić do początku pętli)

 
for(int x=0;x<mniejsi.size();x++){
                            ludzie.push_back(mniejsi[x]);
                            }

można zastosować inną metodę która byłaby szybsza, na myśl przychodzą mi wskaźniki, z tymże to są vectory a nie wskaźniki na vectory.

Dodam że dla małych testów już mam zaliczone zostaje tylko problem z czasem w dużych testach

1

Szukałeś na forum? To cię powinno zainteresować:
http://4programmers.net/Forum/Algorytmy/190306-algorytm_magicznych_piatek
Masz tam też przykład kopiowania danych z jednego wektora do drugiego za pomocą copy z nagłówka <algorithm>.

0

możesz użyć wektora wskaźników. tylko wtedy trzeba ręcznie panować nad przydzielaniem i zwalnianiem pamięci.

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