锘??xml version="1.0" encoding="utf-8" standalone="yes"?>嫩草影院久久99,久久精品国产黑森林,亚洲午夜福利精品久久http://m.shnenglu.com/JohnsonLu/category/12051.htmlzh-cnWed, 14 Oct 2009 14:30:01 GMTWed, 14 Oct 2009 14:30:01 GMT60- 灝忓績鍒犻櫎瀹瑰櫒涓厓绱犳椂鐨勮凱浠e櫒澶辨晥http://m.shnenglu.com/JohnsonLu/archive/2009/10/14/98590.htmlJohnsonJohnsonWed, 14 Oct 2009 11:47:00 GMThttp://m.shnenglu.com/JohnsonLu/archive/2009/10/14/98590.htmlhttp://m.shnenglu.com/JohnsonLu/comments/98590.htmlhttp://m.shnenglu.com/JohnsonLu/archive/2009/10/14/98590.html#Feedback0http://m.shnenglu.com/JohnsonLu/comments/commentRss/98590.htmlhttp://m.shnenglu.com/JohnsonLu/services/trackbacks/98590.html
浠庝竴涓畝鍗曠殑闂寮濮嬶紝鍒犻櫎鏁扮粍涓煇涓厓绱犲悗榪炵畫閲嶅鐨勫厓绱狅紝渚嬪 1錛?錛?錛?錛?錛?錛?錛?錛?錛? ---> 1錛?2錛?錛?錛?錛?銆?br>
鑰冭檻浜嗗嚑縐掞紝鐒跺悗灝卞紑濮嬪姩鎵嬪啓浠g爜浜嗭細
#include <iostream>
#include <vector>
using namespace std;

int main(int argc, char* argv[])


{

int a[] =
{1, 1, 3, 3, 3, 2, 4, 1, 1, 1, 0};
int size = sizeof(a)/sizeof(a[0]);

vector<int> vec(a, a+size);

vector<int>::iterator iter, end;
int previous = vec[0];
for (iter = vec.begin() + 1, end = vec.end(); iter != end; ++iter)

{
if(*iter == previous)

{
vec.erase(iter);
}
else

{
previous = *iter;
}
}

for(iter = vec.begin(); iter != vec.end(); ++iter)

{
cout << *iter << endl;
}
return 0;
}


鍙槸緙栬瘧涓涓嬶紝鍑烘潵涓澶у爢error錛屼粩緇嗙湅涓涓嬪嚭閿欎俊鎭紝鍝︼紝鍘熸潵鑷繁蹇樿浜嗭紝erase瀹瑰櫒涓厓绱犵殑鏃跺欙紝榪唬鍣ㄤ細澶辨晥銆傘傘傞】鏃朵竴韜喎姹楋紝鑷繁騫蟲椂榪唬瀹瑰櫒鐨勬椂鍊欙紝涓鑸兘淇濆瓨浜嗗鍣ㄧ殑end鍏冪礌錛岃鏄鏃惰凱浠e櫒澶辨晥銆傘傘?/p>
Container<int>::iterator iter, end;
for (iter = container.begin() + 1, end = container.end(); iter != end; ++iter)
浜庢槸鎵懼埌鏀惰棌鐨凟ffective STL錛岀炕寮鏉℃9錛屾壘鍒頒簡erase瀹瑰櫒涓厓绱犵殑鍘熷垯銆備互鍓嶆浘緇忕湅榪囷紝涓嶈繃騫存繁鏃ヤ箙錛屾棭灝卞繕寰椾竴騫蹭簩鍑浜嗐傜幇鍦ㄨ繕鏄妸瑕佺偣鎬葷粨涓涓嬶紝璁板湪blog涓婏紝渚涗互鍚庡弬鑰冦?br>
1. 瀵逛簬鍏寵仈瀹瑰櫒(濡俶ap, set, multimap,multiset)錛屽垹闄ゅ綋鍓嶇殑iterator錛屼粎浠呬細浣垮綋鍓嶇殑iterator澶辨晥錛屽彧瑕佸湪erase鏃訛紝閫掑褰撳墠iterator鍗沖彲銆傝繖鏄洜涓簃ap涔嬬被鐨勫鍣紝浣跨敤浜嗙孩榛戞爲鏉ュ疄鐜幫紝鎻掑叆銆佸垹闄や竴涓粨鐐逛笉浼氬鍏朵粬緇撶偣閫犳垚褰卞搷銆?br>
for (iter = cont.begin(); it != cont.end();)


{
(*iter)->doSomething();
if (shouldDelete(*iter))
cont.erase(iter++);
else
++iter;
}
鍥犱負iter浼犵粰erase鏂規硶鐨勬槸涓涓壇鏈紝iter++浼氭寚鍚戜笅涓涓厓绱犮?br>
2. 瀵逛簬搴忓垪寮忓鍣?濡倂ector,deque)錛屽垹闄ゅ綋鍓嶇殑iterator浼氫嬌鍚庨潰鎵鏈夊厓绱犵殑iterator閮藉け鏁堛傝繖鏄洜涓簐etor,deque浣跨敤浜嗚繛緇垎閰嶇殑鍐呭瓨錛屽垹闄や竴涓厓绱犲鑷村悗闈㈡墍鏈夌殑鍏冪礌浼氬悜鍓嶇Щ鍔ㄤ竴涓綅緗傝繕濂絜rase鏂規硶鍙互榪斿洖涓嬩竴涓湁鏁堢殑iterator銆?br>
for (iter = cont.begin(); iter != cont.end();)


{
(*it)->doSomething();
if (shouldDelete(*iter))
iter = cont.erase(iter);
else
++iter;
}
3. 瀵逛簬list鏉ヨ錛屽畠浣跨敤浜嗕笉榪炵畫鍒嗛厤鐨勫唴瀛橈紝騫朵笖瀹冪殑erase鏂規硶涔熶細榪斿洖涓嬩竴涓湁鏁堢殑iterator錛屽洜姝や笂闈袱縐嶆柟娉曢兘鍙互浣跨敤銆?br>
鏈鍚庣粰鍑哄紑濮嬮偅涓棶棰樼殑涓涓紜殑瀹炵幇錛?/p>
#include <iostream>
#include <vector>
using namespace std;

int main(int argc, char* argv[])


{

int a[] =
{1, 1, 3, 3, 3, 2, 4, 1, 1, 1, 0};
int size = sizeof(a)/sizeof(a[0]);

vector<int> vec(a, a+size);

vector<int>::iterator iter = vec.begin();
int previous = *iter;
++iter;
for (; iter != vec.end();)

{
if(*iter == previous)

{
iter = vec.erase(iter);
}
else

{
previous = *iter;
++iter;
}
}

for(iter = vec.begin(); iter != vec.end(); ++iter)

{
cout << *iter << endl;
}
return 0;
}
PS. 涓嶈繃瀹為檯涓婅繖涓棶棰橈紝鐢╲ector鏉ュ疄鐜頒笉鏄緢閫傚悎錛屽洜涓烘瘡嬈″垹闄や竴涓厓绱狅紝閮戒細寮曡搗vector鐨勪竴涓猺esize鎿嶄綔銆俽esize鐨勬椂闂村鏉傚害鏄疧(n)錛屾暣涓殑resize鎿嶄綔瑕佽姳璐筄(n^2)銆傛渶濂芥槸閫夋嫨list鏈涓哄鍣紝list鏈閫傚悎閭d簺闇瑕佸湪瀹瑰櫒涓棿鍋氭彃鍏ャ佸垹闄ょ殑渚嬪瓙銆?br>
PS2. 鍙﹀涓涓彲鑳界殑鏂規硶鏄痳emove_if + erase鎯敤娉曘俽emove_if鐨勬椂闂村鏉傚害鏄疧(n). erase鐨勬椂闂村鏉傚害涔熸槸O(n)錛屾墍浠ユ暣涓搷浣滃彲浠ュ湪O(n)鏃墮棿閲屽畬鎴愩?褰撶劧錛屽浜庤繖涓緥瀛愶紝ShouldDeletePred姣旇緝闅懼啓)
iterator new_end = remove_if(array.begin(), array.end(), ShouldDeletePred());
array.erase(new_end, array.end());

]]>
亚洲伊人久久成综合人影院|
久久精品中文字幕第23页|
午夜精品久久久久久影视777|
色8激情欧美成人久久综合电|
亚洲精品国精品久久99热|
精品久久久久久中文字幕大豆网|
精品久久久无码人妻中文字幕|
久久ZYZ资源站无码中文动漫
|
777午夜精品久久av蜜臀|
99久久无色码中文字幕人妻|
久久久久中文字幕|
三级三级久久三级久久|
精品久久久久久久|
久久久久久久97|
久久青青草原综合伊人|
狠狠色婷婷久久综合频道日韩
|
亚洲精品乱码久久久久久|
天天综合久久久网|
色综合久久久久久久久五月|
国产亚洲成人久久|
99久久免费国产精品热|
久久无码AV中文出轨人妻|
国产L精品国产亚洲区久久|
色偷偷88888欧美精品久久久|
久久九九免费高清视频|
国产一级持黄大片99久久|
久久精品aⅴ无码中文字字幕不卡|
国产精品九九久久免费视频|
2021少妇久久久久久久久久|
狠狠精品久久久无码中文字幕|
色欲久久久天天天综合网精品|
少妇久久久久久被弄到高潮|
久久国产免费观看精品|
亚洲伊人久久精品影院|
久久这里只有精品首页|
怡红院日本一道日本久久|
久久综合狠狠综合久久综合88|
久久亚洲AV成人无码软件|
国内精品伊人久久久久妇|
亚洲伊人久久综合中文成人网|
日本亚洲色大成网站WWW久久|