锘??xml version="1.0" encoding="utf-8" standalone="yes"?>嫩草影院久久99,久久精品国产黑森林,亚洲午夜福利精品久久http://www.shnenglu.com/JohnsonLu/category/12051.htmlzh-cnWed, 14 Oct 2009 14:30:01 GMTWed, 14 Oct 2009 14:30:01 GMT60- 灝忓績鍒犻櫎瀹瑰櫒涓厓绱犳椂鐨勮凱浠e櫒澶辨晥http://www.shnenglu.com/JohnsonLu/archive/2009/10/14/98590.htmlJohnsonJohnsonWed, 14 Oct 2009 11:47:00 GMThttp://www.shnenglu.com/JohnsonLu/archive/2009/10/14/98590.htmlhttp://www.shnenglu.com/JohnsonLu/comments/98590.htmlhttp://www.shnenglu.com/JohnsonLu/archive/2009/10/14/98590.html#Feedback0http://www.shnenglu.com/JohnsonLu/comments/commentRss/98590.htmlhttp://www.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());

]]>
久久国产免费观看精品|
国产产无码乱码精品久久鸭|
国产视频久久|
久久精品国产WWW456C0M|
久久只这里是精品66|
久久久久久精品久久久久|
国产产无码乱码精品久久鸭
|
一本大道久久东京热无码AV|
国产精品99久久久精品无码
|
精品国产青草久久久久福利
|
久久e热在这里只有国产中文精品99|
国产99久久九九精品无码|
久久久久久久精品妇女99|
国产∨亚洲V天堂无码久久久|
久久综合亚洲色HEZYO国产|
伊人久久精品无码二区麻豆|
久久亚洲中文字幕精品一区四|
久久久www免费人成精品|
国产精品美女久久久网AV|
久久久久久亚洲Av无码精品专口|
久久久久综合中文字幕|
久久国产亚洲精品麻豆|
亚洲AV日韩精品久久久久|
开心久久婷婷综合中文字幕|
日本精品久久久中文字幕|
久久久久久午夜成人影院|
久久精品无码一区二区WWW|
欧美与黑人午夜性猛交久久久|
国产精品久久久久9999|
久久精品国产亚洲AV电影|
久久午夜福利无码1000合集|
亚洲欧美一级久久精品|
人人狠狠综合久久亚洲高清|
99久久精品久久久久久清纯|
久久精品国产久精国产|
国产美女久久久|
99久久www免费人成精品|
色综合色天天久久婷婷基地|
日本免费久久久久久久网站|
久久福利青草精品资源站|
免费观看久久精彩视频|