我正在为一个问题编写代码:编写一个方法来对字符串数组进行排序,以便所有字谜彼此相邻。如果我的容器是vector,那就很简单了,因为vector有迭代器,可以在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); ???
}