Mega Code Archive

 
Categories / C++ / Qt
 

Quick sort QList

#include <QList> #include <QtAlgorithms>   // for qSort() #include <QStringList> #include <QDebug> class CaseIgnoreString : public QString { public:     CaseIgnoreString(const QString& other = QString()) : QString(other) {}     bool operator<(const QString & other) const {         return toLower() < other.toLower();     }     bool operator==(const QString& other) const {         return toLower() == other.toLower();     } }; int main() {     CaseIgnoreString s1("A"), s2("b"), s3 ("C"), s4("d"), s5 ("D");     QList<CaseIgnoreString> namelist;     namelist << s5 << s1 << s3 << s4 << s2;       qSort(namelist.begin(), namelist.end());     int i=0;     foreach (QString stritr, namelist) {         qDebug() << QString("namelist[%1] = %2").arg(i++).arg(stritr) ;     }     QStringList strlist;     strlist << s5 << s1 << s3 << s4 << s2;      qSort(strlist.begin(), strlist.end());     qDebug() << "StringList sorted: " + strlist.join(", ") << endl;     return 0; }