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

首頁 > 編程 > C > 正文

基于list循環刪除元素,迭代器失效的問題詳解

2020-01-26 14:20:09
字體:
來源:轉載
供稿:網友

問題的關鍵是:在刪除元素之前,將當前迭代器保存下來。當然,這里僅支持list,因為list的鏈式的刪除一個元素,前面的指針指向下一個元素,vector和queue就不好辦了,它們或者是線性的或者是半線性半鏈式,迭代器會失效

#include<iostream>#include<list>using namespace std;int main(){	list<int *> l;	for(int i=1;i<=100;i++)	{		int* temp=new int;		*temp=i;		l.push_back(temp);	}	list<int *>::iterator it=l.begin();	list<int *>::iterator ittemp=l.begin();	for(;it!=l.end();++it)	{		cout<<*(*it)<<endl;	}	it=l.begin();	ittemp=l.begin();	for(;it!=l.end();)	{		ittemp=it;		++it;		delete (*ittemp);		l.erase(ittemp);	}	cout<<l.size()<<endl;	return 0;}

以上就是小編為大家帶來的基于list循環刪除元素,迭代器失效的問題詳解全部內容了,希望大家多多支持武林網~

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 涟源市| 当雄县| 舞钢市| 宣威市| 东平县| 革吉县| 红原县| 岳西县| 大连市| 林芝县| 皋兰县| 左贡县| 特克斯县| 阿合奇县| 双辽市| 西安市| 高碑店市| 上犹县| 大化| 化德县| 茌平县| 高安市| 大厂| 苍南县| 天等县| 囊谦县| 博野县| 大竹县| 中超| 汪清县| 清水河县| 民和| 垫江县| 长兴县| 富源县| 新疆| 苍山县| 斗六市| 沁水县| 郎溪县| 永定县|