すべてのアナグラムが隣り合うように、文字列の配列をソートするメソッドを作成します。私のコンテナーがベクトルの場合、ベクトルには反復子があり、以下のコードである STL ソート関数で使用できるため、非常に単純になります。しかし、コンテナーが配列の場合はどうなるでしょうか? 配列には反復子がなく、sort() を使用して配列を直接ソートすることはできません。sort() を使用して配列を直接ソートできるように、配列反復子を作成する方法はありますか? ありがとうございました !
#include <iostream>
#include<string>
#include<algorithm>
#include<vector>
using namespace std;
bool compare(string s1, string s2){
sort(s1.begin(), s1.end()); //sort return void, not the sorted result!!!!!!!!!!
sort(s2.begin(), s2.end());
return s1<=s2;
}
void sort_string(vector<string> &v){
sort(v.begin(), v.end(), compare);
}
#
If I want to use array itertor:
bool compare(string s1, string s2){
sort(s1.begin(), s1.end());
sort(s2.begin(), s2.end());
return s1<=s2;
}
int sortStrarr(string strarr[], int len){
//sort(strarr's iterator.begin, strarr's iterator.end, compare); ???
}