| Ok, I have a list of strings (list<string> stringList) that I want to
| sort alphabetcially, only "sort(stringList.begin(), stringList.end());
| ) does not work. Any insight would be helpful. Thanks!
|
Both list and string are not defined in the standard. Try std::string
and std::list.
Why use a container like a std::list if a std::set does this for you
transparently using a predicate (default pred: std::less<>)?
#pragma warning(disable:4786)
#include <string>
#include <set>
#include <iterator>
#include <algorithm>
#include <ostream>
#include <iostream>
int main()
{
/* default:
std::set< std::string,
std::less<std::string>,
std::allocator<std::string> > stringset;
*/
std::set< std::string > stringset;
stringset.insert("string d");
stringset.insert("string a"); // sorted with std::less<std::string>
stringset.insert("string c"); // sorted ...
stringset.insert("string b"); // sorted ...
std::copy( stringset.begin(),
stringset.end(),
std:

stream_iterator<std::string>( std::cout,
"\n") );
std::cout << std::endl;
return 0;
}
/*
string a
string b
string c
string d
*/