首先,为什么要引入LIst ?vector是动态数组,意味着包涵数组的优缺点,优点 :内存连续,知道首地址 ,就可以推出其他位置的值。缺点:插入删除元素需要进行顺带的移动。如果vector中的元素非常多的时候,那么效率会很低,这时候,List 内存地址不连续,很好的解决了插入、删除的问题。但是同样LIst尽管解决了Vector的缺点,List不能直接确定指定位置的元素,需要从头遍历链表,随机访问的机能差。
代码少了 ,并不代表里边的内容少了,也不是小生敷衍,学完vector感觉两者相差不大,大体相同,可以套用。
//List
list<int> l1(4,100);
list<int> l2(l1);
//遍历
list<int> ::iterator it;
for (it = l1.begin(); it != l1.end(); it++)
{
cout << *it << " ";
}
cout << endl;
//普通数组初始化
int a[] = { 2,5,8,10 };
list<int> l3(a, a + sizeof(a) / sizeof(int));
list<int> ::iterator it3;
for (it3 = l3.begin(); it3 != l3.end(); it3++)
{
cout << *it3 << " ";
}
cout << endl;
//insert()
l3.insert(l3.begin(), 2, 11);
list<int> ::iterator it5;
for (it5 = l3.begin(); it5 != l3.end(); it5++)
{
cout << *it5 << " ";
}
cout << endl;
//reverse() 倒置
l3.reverse();
list<int> ::iterator it4;
for (it4 = l3.begin(); it4 != l3.end(); it4++)
{
cout << *it4 << " ";
}
cout << endl;
在这里插入代码片