题目
示例
最简单的方法,排序后遍历:
#include <QDebug>
#include <QRandomGenerator>
void randomAssignment(QList<int> & list,int maxValue)
{
int size = list.size();
for(int i = 0;i < size;++i)
{
list[i] = QRandomGenerator::global()->bounded(maxValue);
}
int repetitionNumber = QRandomGenerator::global()->bounded(1,size/3);
for(int i = 0;i < repetitionNumber;++i)
{
list[QRandomGenerator::global()->bounded(0,size)] = list[QRandomGenerator::global()->bounded(0,size)];
}
}
int main(int argc, char *argv[])
{
int n = 100;
QList<int> list;
list.resize(10);
randomAssignment(list,n);
qDebug()<<list;
std::sort(list.begin(),list.end());
qDebug()<<list;
for(int i = 0;i < (list.size() - 1);++i)
{
if(list.at(i) == list.at(i+1))
qDebug()<<"重复数字:"<<list.at(i);
}
}
