수천 개의 레코드 배열을 정렬해야합니다. 나는 매번 새로운 레코드를 올바른 위치에 배치하므로 배열의 나머지 레코드 인덱스를 변경해야합니다. 내가 좋아하는 수동으로 실시로합니다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