目錄
一、list 對象創建
1、默認構造函數
2、初始化列表
3、迭代器
4、全0初始化
5、全值初始化
6、拷貝構造函數
二、list 賦值操作
1、=賦值
2、assign(迭代器1,迭代器2)
3、assign(初始化列表)
4、assign(a個b)
三、list 大小操作
1、判空
2、大小
3、調整大小
四、數據插入
1、頭插
2、尾插
3、insert函數(與deque、vector類似)
五、list 數據刪除
1、頭刪
2、尾刪
3、erase函數(與deque、vector類似)
4、清空
六、list 數據訪問
首元素:l.front();
尾元素:l.back();
自定義依據下標訪問數據函數
七、list 鏈表反轉
八、list 鏈表排序
一、list 對象創建
1、默認構造函數
? ? ? ? ?list<int> l1;
2、初始化列表
? ? ? ? ①list<int> l2_1={1,2,3,4,5};
? ? ? ? ②list<int> l2_2({1,2,3,4,5});
3、迭代器
? ? ? ? list<int> l3(l2_1.begin(),l2_2.end());
4、全0初始化
? ? ? ? list<int> l4(8);
5、全值初始化
????????list<int> l5(8,6);
6、拷貝構造函數
? ? ? ? list<int> l6(l5);
二、list 賦值操作
list<int> l={1,2,3,4,5};
1、=賦值
? ? ? ? l1=l;
2、assign(迭代器1,迭代器2)
? ? ? ? l2.assign(l.begin(),l.end());
3、assign(初始化列表)
? ? ? ? l3.assign({1,2,3,4,5});
4、assign(a個b)
? ? ? ? l4.assign(a,b);
三、list 大小操作
1、判空
? ? ? ? l.empty();
2、大小
? ? ? ? l.size();
3、調整大小
? ? ? ? ①l.resize(n);? ? ? ? 將大小調整為n,空余以0代替
? ? ? ? ②l.resize(n,a);?????????????將大小調整為n,空余以a代替
四、數據插入
1、頭插
? ? ? ? l.push_front();
2、尾插
? ? ? ? l.push_back();
3、insert函數(與deque、vector類似)
? ? ? ? ①l.insert(迭代器,值);
? ? ? ? ②l.insert(迭代器,數,值);
? ? ? ? ③l.insert(迭代器1,迭代器2,迭代器3);
五、list 數據刪除
1、頭刪
? ? ? ? pop_front();
2、尾刪
? ? ? ? pop_back();
3、erase函數(與deque、vector類似)
? ? ? ? ①erase(迭代器);
? ? ? ? ②erase(迭代器1,迭代器2);
4、清空
? ? ? ? clear();
六、list 數據訪問
list不支持隨機訪問,如[下標]、at函數
list的迭代器list<T>::iterator支持++操作,卻不支持+1或+7等等操作
首元素:l.front();
尾元素:l.back();
自定義依據下標訪問數據函數
int getListItemByIndex(list<int>& l, int index)
{list<int>::iterator it = l.begin();while (index--)it++;return *it;
}
七、list 鏈表反轉
? ? ? ? l.reverse();
八、list 鏈表排序
? ? ? ? l.sort();?
與<algorithm>中sort類似。