아래 양식으로 텍스트 파일을 읽고 벡터로 데이터를 가져온 다음 그 데이터로 계산을 수행하는 프로그램을 작성 중입니다. 현재로서는 데이터를 쌍으로 가져 와서 벡터에 삽입하고 벡터를 정렬 할 수 있습니다.하지만 실제로 다른 복사본을 제거하는 데는 모든 노력이 실패했습니다. 따라서 다른 용도로 벡터를 사용할 수 있습니다.벡터에서 중복을 제거하는 방법은 무엇입니까?
1 4
5 6
4 5
4 5
5 4
6 7
...
이것은 현재 현재 관련 코드입니다. 위의 벡터 (6 행만)에서 vec1.size()를 수행하면 출력은 5가되어야합니다. 그러나 모든 텍스트 파일을 시도하면 1이라는 결과가 표시됩니다. 이유는 알 수 없습니다.
while(getline(fs1, instrng)) {
istringstream s1(instrng);
int a, b;
s1 >> a >> b;
pair<int,int> pair1 = make_pair(a,b);
vec1.push_back(pair1);
sort(vec1.begin(), myvec1.end());
auto last = std::unique(vec1.begin(), vec1.end());
vec1.erase(last, vec1.end());
['std :: unique'] (http://en.cppreference.com/w/cpp/algorithm/unique)를 사용하십시오. – juanchopanza
@juanchopanza 당신은 대답으로 게시 했어야합니다 – Zaffy
@ Zaffy 이미 많은 중복이 있기 때문에 제가하지 않았습니다. – juanchopanza