QElapsedTimer timer;
QJsonArray jarray;
for (int i = 0; i < 1000; i++)
jarray.append(QJsonValue());
qDebug()<<timer.restart();
for (int i = 0; i < 10000; i++)
jarray.append(QJsonValue());
qDebug()<<timer.restart();
for (int i = 0; i < 100000; i++)
jarray.append(QJsonValue());
qDebug()<<timer.restart();
for (int i = 0; i < 1000000; i++)
jarray.append(QJsonValue());
qDebug()<<timer.restart();
输出:
5
782
88603
267695
我的循环的复杂性似乎是O(n²)。列表append()方法必须是O(1)。所以O(n)表示n个元素的循环。 WTF? 提前致谢