Qlist排序【依据其中每一项的字符串大小】


#include<QCoreApplication>

#include <QDebug>
#include <QList>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QList<QString> str;
 
    // a,e,b,c,d
    str.append("a");
    str.append("d");
    str.append("c");
    str.append("b");
    str.append("e");
    foreach (QString pp, str) {
       qDebug()<<pp<<endl;
    }
        qDebug()<<"****************"<<endl;


  for(int j = 1;j<str.count();j++)
  {
    for(int i= j+1;i<str.count();i++)
    {
        //str[j] biao gan
          int flag =QString::compare(str[j],str[i]);
          if(flag>0)
          {
              str.swap(i,j);
          }
    }
  }
  foreach (QString pp, str) {
     qDebug()<<pp<<endl;
  }
    return a.exec();
}
 
//有类的
#include <QList>
class AA
{
public:
    AA(){}
    QString sss;
    QString getSSS() const {return sss;}
    void setSSS(QString str){sss = str;}
};
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    AA *a1 = new AA();
    a1->setSSS("a");
    AA *a2 =new AA();
    a2->setSSS("d");
    AA *a3 =new AA();
    a3->setSSS("b");
    AA *a4 =new AA();
    a4->setSSS("e");
    AA *a5 =new AA();
    a5->setSSS("c");
    QList<AA*> str;
    // a,e,b,c,d
    str.append(a1);
    str.append(a2);
    str.append(a3);
    str.append(a4);
    str.append(a5);
    foreach (AA *pp, str) {
       qDebug()<<pp->getSSS()<<endl;
    }
        qDebug()<<"****************"<<endl;
//        QList<AA*>::iterator itor = str.begin();
  for(int j = 1;j < str.count();j++)
  {
    for(int i= j+1;i < str.count();i++)
    {
        //str[j] biao gan
          int flag =QString::compare(str[j]->getSSS(),str[i]->getSSS());
          if(flag>0)
          {
              str.swap(i,j);
          }
    }
  }
  foreach (AA *pp, str) {
     qDebug()<<pp->getSSS()<<endl;
  }
    return a.exec();
}
 

主要功能是为了给列表中的某个属性,进行排序。比如说名字一类类的。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值