STL中如何对vector<char*>进行排序
因为我要构造后缀数组,所以希望它们能够共享一个字串的内存,因而不能使用vector <string> ,参考代码如下:
string s( "ask not what your country can do for you, but what you can do for your country ");
vector <char*> v;
int size=s.size();
for(int i=0;i <size;i++)
{
v.push_back(&s[i]);
}
//关键是这里如何排序,使用less <char*> ()不管用
sort(v.begin(),v.end(),less <char*> ());
vector <char*> ::iterator vi;
for(vi=v.begin();vi!=v.end();vi++)
cout < <*vi < <endl;
请高人解答,不胜感激
[解决办法]
你要按照字母排序?
[解决办法]
sort(v.begin(),v.end(),less <char*> ());
==》
sort(v.begin(),v.end(),less <char> );