Мне нужно отсортировать массив тысяч записей. Я помещаю каждую новую запись в нужное место, поэтому мне нужно изменить индекс остальных записей в моем массиве. Я делаю в Мануалах как:копия против ручного копирования массива в C++
db[j]=record;
cout<<tmp.oName<<endl;
while (j++!=size-1){
tmp2=db[j];
db[j]=tmp;
tmp=db[j];
}
И вот идет мой вопрос: было бы значительно быстрее создать новый массив и использовать копию, или не было бы заметно вычислительное времени и улучшение использования памяти у моего текущего кода? Я довольно новичок в C++, поэтому я не уверен, как эта функция работает внутри.
Включает, я могу использовать:
#include <iostream>
#include <iomanip>
#include <string>
#include <cstring>
#include <cstdlib>
#include <cstdio>
Возможно, вам понадобится 'std: :(multi) set'. Он сохраняет элементы отсортированными. – chris
Вы можете подумать, возможно ли использование вашей сортированной емкости, такой как 'std :: set', в вашей ситуации. –
Вы также можете использовать 'std :: vector :: insert', чтобы выполнить это. Он переместит все для вас. – lcs