锘??xml version="1.0" encoding="utf-8" standalone="yes"?>美日韩在线观看,欧美亚洲综合另类,亚洲免费观看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[] = {11333241110};
   
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[] = {11333241110};
   
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());



Johnson 2009-10-14 19:47 鍙戣〃璇勮
]]>
午夜精品久久久久久久| 9999国产精品欧美久久久久久| 伊人色综合久久天天人守人婷| 久久久久亚洲AV成人网人人网站| 国产成人精品久久| 99精品久久久久久久婷婷| 思思久久99热只有频精品66| 久久久久高潮毛片免费全部播放| 久久久无码精品午夜| 久久精品天天中文字幕人妻| 99久久99久久精品国产片果冻| 中文字幕亚洲综合久久菠萝蜜| 色综合久久无码中文字幕| 久久国产视屏| 香港aa三级久久三级| 久久久无码精品亚洲日韩蜜臀浪潮| 国产精久久一区二区三区| 久久精品国产亚洲av水果派| 国产精品久久久香蕉| 久久er国产精品免费观看8| 久久精品国产精品青草app| 亚洲成色WWW久久网站| 精品久久久久久久久免费影院| 国产亚洲精午夜久久久久久 | 亚洲一区精品伊人久久伊人 | 亚洲精品美女久久久久99| 久久国产成人亚洲精品影院| 97久久超碰成人精品网站| 囯产精品久久久久久久久蜜桃| 思思久久99热免费精品6| 久久久久国产视频电影| 久久996热精品xxxx| 中文字幕成人精品久久不卡| 久久精品国产亚洲AV电影 | 久久精品这里热有精品| 国产成人精品免费久久久久| 欧美黑人激情性久久| 国产午夜精品理论片久久影视| 国产精品久久毛片完整版| 97久久精品人妻人人搡人人玩| 国产精品久久久久天天影视|