读书人

STL中怎么对vectorlt;char*gt;进行排序

发布时间: 2012-03-24 14:00:46 作者: rapoo

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> );

读书人网 >C++

热点推荐