日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STL13-list容器(链表)

發(fā)布時間:2025/3/15 编程问答 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STL13-list容器(链表) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

鏈表是由一系列的結(jié)點組成,結(jié)點包括兩個域:一個數(shù)據(jù)域,一個指針域

1、鏈表內(nèi)存是非連續(xù)的,添加刪除元素效率較高,時間復(fù)雜度都是常數(shù)項,不需要移動元素

2、鏈表只有在需要的時候才會分配內(nèi)存

3、鏈表只要拿到第一個結(jié)點,相當(dāng)于拿到整個鏈表。最后一個結(jié)點指向為空

4、鏈表需要額外的空間保存結(jié)點關(guān)系。前驅(qū) 后繼關(guān)系

#include<iostream> #include<list> using namespace std; void PrintList(list<int> mlist4) {for (list<int>::iterator it = mlist4.begin(); it != mlist4.end(); it++) {cout << *it << " ";}cout << endl; } //初始化 void test01() {list<int> mlist1;list<int> mlist2(10, 2);list<int> mlist3(mlist2);list<int> mlist4(mlist2.begin(),mlist2.end());for (list<int>::iterator it = mlist4.begin(); it != mlist4.end(); it++) {cout << *it << " ";}cout << endl; }//插入和刪除 void test02() {list<int> mlist;mlist.push_back(100);mlist.push_front(200);mlist.insert(mlist.begin(), 300);mlist.insert(mlist.end(), 400);list<int>::iterator it = mlist.begin();it++;it++;mlist.insert(it, 500); //insert的第一個參數(shù)為迭代器cout << "-------------插入------------" << endl;PrintList(mlist);//刪除mlist.pop_back();mlist.pop_front();cout << "-------------pop_back&&pop_front刪除------------" << endl;PrintList(mlist);cout << "-------------erase第三個數(shù)刪除------------" << endl;mlist.erase(it);PrintList(mlist);cout << "-------------remove100刪除------------" << endl;mlist.push_back(100);mlist.push_front(100);PrintList(mlist);mlist.remove(100); //delete all the number which the value 100PrintList(mlist);mlist.erase(mlist.begin(), mlist.end()); //equal to mlist.clear()PrintList(mlist); }//大小,賦值操作 void test03() {list<int> mlist1,mlist3;mlist1.assign(10, 1);mlist3.assign(10, 3);list<int> mlist2;mlist2 = mlist1;mlist1.swap(mlist3); }//排序 反轉(zhuǎn) void test04() {list<int> mlist;for (int i = 0; i < 10; i++){mlist.push_back(i);}PrintList(mlist);cout << "反轉(zhuǎn)" << endl;mlist.reverse();PrintList(mlist); } bool myCompare05(int v1,int v2) {return v1 > v2; } //排序 void test05() {list<int> mlist;mlist.push_back(200);mlist.push_back(23);mlist.push_back(90);mlist.push_back(3434);PrintList(mlist);cout << "sort" << endl;mlist.sort(); //默認(rèn)從小到大PrintList(mlist);//從大到小mlist.sort(myCompare05);PrintList(mlist); }//算法sort 支持可隨機訪問的容器int main(int) {cout << "------------test01-------------" << endl;test01();cout << "------------test02-------------" << endl;test02();cout << "------------test03-------------" << endl;test03();cout << "------------test04-------------" << endl;test04();cout << "------------test05-------------" << endl;test05();return 0; }

?

?

總結(jié)

以上是生活随笔為你收集整理的STL13-list容器(链表)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。