Qt中用qSort()快速排序例程

来源:互联网 发布:佳为软件 编辑:程序博客网 时间:2024/05/16 19:01

Qt中用qSort()快速排序例程进行排序

void MainWindow::on_pushButton_2_clicked(){    //QStringList 自动排序去重    QStringList  Read_Time;    //产生[0,10)中的随机数10个    qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));    for(int i=0; i<10; i++)    {        QString num;        int test =qrand()%10;        //保留2位数,不足的补零        num = num.sprintf("%02d",test);        Read_Time<<num;    }    //显示产生的随机数    qDebug()<<" start Read_Time = "<<Read_Time;    //自动排序的处理过程    QSet<QString> set = Read_Time.toSet();//是字符串链表内容不重复    qDebug()<<" set = "<<set;    QList<QString> list = QList<QString>::fromSet(set);//链表内容重新排序。默认递增    qDebug()<<" list = "<<list;    //调用函数排序    qSort(list);    qDebug()<<"Read_Time"<<list<<"size =" <<list.size();    //覆盖原来的链表内容    Read_Time = list;    qDebug()<<" OFF Read_Time = "<<Read_Time;}

运行结果:
start Read_Time = (“02”, “01”, “06”, “06”, “08”, “04”, “06”, “00”, “03”, “04”)
set = QSet(“08”, “00”, “01”, “02”, “03”, “04”, “06”)
list = (“08”, “00”, “01”, “02”, “03”, “04”, “06”)
Read_Time (“00”, “01”, “02”, “03”, “04”, “06”, “08”) size = 7
OFF Read_Time = (“00”, “01”, “02”, “03”, “04”, “06”, “08”)

原创粉丝点击