0
나는 set_symmetric_difference (C++) 함수를 사용하여 한 세트에만 나타나는 모든 객체를 찾고 있지만 둘 다 사용하려고하지는 않습니다.set_symmetric_difference [C++]에서 사용할 문자열 비교기를 작성하는 방법?
set<string> set1, set2; //assume filled with strings
vector<string> output;
set_symmetric_difference(set1.begin(), set1.end(), set2.begin(), set2.end(), back_inserter(output), comparator);
영문자 순으로 문자열을 비교하는 비교기를 작성하는 방법이 약간 불확실한 것 같습니다. 여기 내 추측은 지금까지의 : 그들이 동일 말할 것 같은
bool comparator(string s1, string s2)
{
for(int i = 0; i < min(length1,length2); i++)
{
if(s1[i] < s2[i]) return true;
else if(s1[i] == s2[i]) continue;
else return false;
}
}
나는, 문자열 브래드와 브래들리를 들어, 위에서 작동하지 않을 것입니다 알고 있습니다. 사실, 계속 및 거짓의 모델링이 사전 순으로 문자열 비교자를 설정하는 올바른 방법인지 알고 싶습니다.
소문자와 비교하여 대문자가 "알파벳"순서를 버릴 수도 있기 때문에이 문자열에 to_lower()를 사용하여 쉽게 수정할 수 있다고 생각하지만 아스키 값을 비교하는 데에도 관심이 있습니다.