LinkList 和 list<int> 区别?
Linklist存了不仅下一个节点,还有上一个节点,总共两个。
相对于ArrayList,LinkedList的插入,添加,删除操作速度更快,因为当元素被添加到集合任意位置的时候,不需要像数组那样重新计算大小或者是更新索引。
LinkedList比ArrayList更占内存,因为LinkedList为每一个节点存储了两个引用,一个指向前一个元素,一个指向下一个元素。
ArrayList 和List区别?
ArrayList同样也是一个容器,但是其大小不固定,底层 采用的也是线性连续空间来存放元素,当线性连续空间不足以存放元素时,又重新申请一片更大的空间(大约是原空间的2倍),将原有的内容移过去。
曾老师的正则表达式?
tStr = tStr.remove(QRegExp("[\\[\\]]"));
QStringList strlist = tStr.split(" "); //[0.1d 0.2d 1.0d]
QRegExp numRX(QString("([0-9-+.]+)([rd]?)")); //-12.5d(r for relative value and d for domain value)
QRegExp stringRX(QString("[A-Za-z_]+[-]?[a-z]*")); //e.g. func, Func, jewel_c
if (str.contains("*"))
{
strlist = str.split("*");
iType=1;
}
else if (str.contains("/"))
{
strlist = str.split("/");
iType=2;
}
else if (str.contains("+"))
//1. Separate cmd string and parameter strings, e.g. "R(X, 30)"
QRegExp rx(QString("([A-Za-z]+[0-9]*)\\(([^\\)]+)\\)")); //"R" and "X, 30"
m_cmdStr = rx.cap(1);
//2. Identify number parameters and recognize parameter type
QString tStr = rx.cap(2); //"X, 30"
QstringList?底层
QStringList list;
list << "hello";
list << "world";
list.append("abc");
QString tmp = list.at(i);//据说不支持下标
QStringList list2 = str.split(",");
bool b = list2.contains("123");
QStringList strList