zoukankan      html  css  js  c++  java
  • Qt实现数组的乱序排列

    核心代码很短,如下

    #include <QTime>

    void LuanXu(int a[], int length)//数组元素的乱序排列
    {
        for(int i=0;i<length;i++)
        {
            QTime t;
            t= QTime::currentTime();
            qsrand(t.msec()+t.second()*1000);
            int r = i+qrand()%(length-i);
            int temp=a[i];
            a[i]=a[r];
            a[r]=temp;
        }
    }

    关键是每次生成指定范围的随机数。

    qrand()函数用于产生随机数,qrand()0产生0-100的随机数,qrand()产生0-10的随机数。

    乱序排列的原理是从有N个数的数组的第一个数开始,随机选择数组中的数作为第一个数,然后将第一个数放到后面的位置。这样下面就是同样的对N-1个数的数组进行乱序排列。循环结束就完成了。

     

    运行效果如图:

    Qt实现数组的乱序排列

    Qt实现数组的乱序排列

    Qt实现数组的乱序排列









     

  • 相关阅读:
    尺取法 C
    并查集
    欧拉路与欧拉回路
    C
    最大连续区间和算法总结
    C
    python中的random函数方法
    Python可视化
    MFC学习之模态对话框和非模态对话框
    dropna
  • 原文地址:https://www.cnblogs.com/jwchen08/p/5942532.html
Copyright © 2011-2022 走看看