国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

list容器

2019-11-14 12:47:58
字體:
來源:轉載
供稿:網友
list 容器實現了雙向鏈表的數據結構,數據元素是通過鏈表指針串連成邏輯意義上的線性表,這樣,對鏈表的任一位置的元素進行插入、刪除和查找都是極快速的。list 的每個節點有三個域:前驅元素指針域、數據域和后繼元素指針域。由于 list 對象的節點并不要求在一段連續的內存中,所以,對于迭代器,只能通過“++” 或“- -”的操作將迭代器移動到后繼/前驅節點元素處。而不能對迭代器進行+n 或-n 的操作,這點,是與vector 等不同的地方。頭文件:#include <list>創建list 對象(1)創建空鏈表,如:list<int> l;(2)創建具有n 個元素的鏈表,如:list<int> l(10); //創建具有10 個元素的鏈表有三種方法往鏈表里插入新元素:(1)采用push_back()方法往尾部插入新元素,鏈表自動擴張。(2)采用push_front()方法往首部插入新元素,鏈表自動擴張。(3)采用insert()方法往迭代器位置處插入新元素,鏈表自動擴張。l.push_back(2);l.push_back(1);l.push_back(5);//在鏈表頭部插入新元素,鏈表自動擴張l.push_front(8);//在任意位置插入新元素,鏈表自動擴張list<int>::iterator it;it=l.begin();it++;//注意,鏈表的迭代器只能進行++或--操作,而不能進行+n 操作l.insert(it,20);//使用前向迭代器遍歷鏈表輸出:8 20 2 1 5反向遍歷:list<int>::reverse_iterator rit;for(rit=l.rbegin();rit!=l.rend();rit++){cout<<*rit<<" ";}元素刪除(1)可以使用remove()方法刪除鏈表中一個元素,值相同的元素都會被刪除。//刪除值等于1 的所有元素l.remove(1);(2)使用pop_front()方法刪除鏈表首元素,使用pop_back()方法刪除鏈表尾元素。l.pop_front();//刪除尾元素l.pop_back();//遍歷鏈表(3)使用erase()方法刪除迭代器位置上的元素。//刪除第2 個元素(從0 開始計數)it=l.begin();it++;it++;l.erase(it);(4)使用clear()方法清空鏈表。//清空鏈表l.clear();元素查找采用 find()查找算法可以在鏈表中查找元素,如果找到該元素,返回的是該元素的迭 代器位置;如果沒有找到,則返回end()迭代器位置。記得加頭文件:#include <algorithm>//采用find()查找算法在鏈表中查找it=find(l.begin(),l.end(),5);if(it!=l.end())//找到{cout<<"find it"<<endl;}元素排序://使用sort()方法對鏈表排序,是升序排列l.sort();剔除連續重復元素采用 unique()方法可以剔除連續重復元素,只保留一個。//剔除連續重復元素(只保留一個)l.unique();例如:原來list中是2 8 1 1 1 5 1剔除后剩下:2 8 1 5 1
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 灵石县| 仙居县| 安丘市| 临漳县| 钟山县| 北海市| 焦作市| 沙雅县| 安达市| 内丘县| 台中市| 浦东新区| 汽车| 凤凰县| 潼关县| 合阳县| 郧西县| 建瓯市| 五寨县| 黔西| 舞阳县| 平阴县| 四平市| 万盛区| 汾西县| 阿拉善右旗| 石阡县| 大名县| 苗栗市| 永嘉县| 嘉定区| 阿合奇县| 甘南县| 望奎县| 柯坪县| 丹东市| 长垣县| 昌江| 瓦房店市| 嘉善县| 吕梁市|