青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 7  文章 - 6  trackbacks - 0
<2009年3月>
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234

常用鏈接

留言簿(1)

隨筆檔案

文章分類

搜索

  •  

積分與排名

  • 積分 - 33128
  • 排名 - 615

最新評論

閱讀排行榜

評論排行榜

        今天看到有人在問這個問題,寫了下代碼,標準庫分離了算法和數據結構,按照這個框架寫程序確實比較方便,個人認為熟讀和透徹理解標準庫源碼是每個想成為資深c++程序員的必修課,就框架結構而論,stl很好的分離了算法和數據結構,就算法而論,標準庫里有很多常見算法的經典實現,所以有非常高的研究價值。

#include <iostream>
#include 
<stddef.h>
#include 
<stdlib.h>
#include 
<string>
#include 
<iterator>
#include 
<algorithm>
#include 
<vector>

using namespace std;

template 
<typename InputIterator1, typename InputIterator2, typename OutputIterator>
OutputIterator delete_intersection(InputIterator1 first1, InputIterator1 last1, 
         InputIterator2 first2, InputIterator2 last2, OutputIterator dest) 
{
    
while (first1 != last1 && first2 != last2) {
        
if (*first1 > *first2) {
            
*dest = *first2;
            
++first2;
            
++dest;
        }
 else if (*first1 < *first2) {
            
*dest = *first1;
            
++first1;
            
++dest;
        }
 else {
            
++first1;
            
++first2;
        }

    }


    
for (;first2 != last2; ++first2) *dest = *first2;

    
return dest;
}


int main() {
    
int a[] = {1,1,2,2,5,6,9,9};
    
int b[] = {1,2,3,4,4,6,7,8,9,9,9,10};

    vector
<int> vc;

    delete_intersection(a, a 
+ sizeof(a)/sizeof(a[0]), b, b + sizeof(b)/sizeof(b[0]), back_inserter(vc));

    std::copy(a, a 
+ sizeof(a)/sizeof(a[0]), ostream_iterator<int>(cout, ",")); 
        cout 
<< endl;

    std::copy(b, b 
+ sizeof(b)/sizeof(b[0]), ostream_iterator<int>(cout, ",")); 
        cout 
<< endl;

    std::copy(vc.begin(), vc.end(), ostream_iterator
<int>(cout, ",")); 
        cout 
<< endl;

    ::system(
"PAUSE");
    
return EXIT_SUCCESS;

}
posted on 2009-03-05 18:56 許海斌 閱讀(1099) 評論(4)  編輯 收藏 引用

FeedBack:
# re: 關于如何刪除兩個集合的交集引發的思考 2009-03-05 23:00 cdy20
我沒學過stl,會用一小部分
汗,我以為stl有直接解決 題目的問題。
不用大師,一般人就可以解決。
你這個是O(n),兩個集合都是有序的。
假如無序,一般可以O(nlogn)解決。
我想大師的代碼,應該是重用性比較高而已。  回復  更多評論
  
# re: 關于如何刪除兩個集合的交集引發的思考 2009-03-05 23:00 cdy20
個人意見而已,別見怪  回復  更多評論
  
# re: 關于如何刪除兩個集合的交集引發的思考 2009-03-06 01:17 許海斌
@cdy20

謝謝你的意見,網絡本來就是暢所欲言,百家爭鳴的地方,沒什么:),我只是想說明下stl有非常高的學習價值,如果你寫一些程序庫,涉及到算法和數據結構的話,可以套用stl的框架,那就不只是學習價值了。就上面的例子,即使沒排過序,照樣搬用stl框架實現,效率無損且更具通用性,代碼不僅僅可以應用于數組,還可以適用于所有按照stl框架實現的容器,如vector、list、deque、set、map、hashtable等等,假設你的程序最初用的是數組,后來發現對查找有比較高的要求,要換成hashtable,那么對于算法無需做任何改動即可應用,否則的話要針對數據結構重寫算法,相信是一件很不爽的事情。  回復  更多評論
  
# re: 關于如何刪除兩個集合的交集引發的思考 2009-03-06 01:35 許海斌
@cdy20
很多人認為stl由于通用性,因此會在效率上打些折扣,其實這是一個誤解,如果不相信,可以再去看看源碼,上面不排序的兩個容器套用stl框架,同樣可以做到o(nlogn)復雜度的實現。
  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              日韩视频二区| 一区二区在线观看视频| 欧美一区二区私人影院日本| 亚洲国产天堂久久国产91| 国产一本一道久久香蕉| 国产免费观看久久| 国产视频亚洲精品| 黄色国产精品| 亚洲人体大胆视频| 亚洲午夜小视频| 久久精品女人| 欧美激情一二三区| 一本色道久久综合狠狠躁的推荐| 99视频精品免费观看| 午夜在线视频一区二区区别| 久久国产精品久久国产精品 | 欧美成人日韩| 日韩视频中文字幕| 亚洲欧美视频在线观看| 久久一区二区视频| 嫩草伊人久久精品少妇av杨幂| 欧美成人精品| 国产精品看片资源| 在线观看欧美成人| 亚洲午夜电影网| 国产日韩欧美一区二区| 国产偷自视频区视频一区二区| 国产亚洲午夜| 亚洲免费观看高清在线观看| 欧美一级淫片aaaaaaa视频| 午夜精品久久久久| 亚洲高清资源综合久久精品| 亚洲第一区中文99精品| 亚洲综合另类| 裸体丰满少妇做受久久99精品| 美女黄毛**国产精品啪啪| 国产精品xxxxx| 亚洲国内自拍| 久久夜色精品国产亚洲aⅴ | 亚洲国产精品久久久久秋霞蜜臀| 亚洲欧美国产日韩中文字幕| 麻豆精品国产91久久久久久| 99综合精品| 欧美激情综合五月色丁香小说| 国产精品久久精品日日| 亚洲国产精品久久久久秋霞蜜臀| 亚洲一区二区三区欧美| 卡通动漫国产精品| 欧美综合激情网| 国产精品入口日韩视频大尺度| 99国产精品久久久久久久久久 | 久久超碰97中文字幕| 亚洲视频狠狠| 国产精品久久久久久超碰| 一区二区欧美在线观看| 亚洲欧洲精品一区二区| 欧美成人综合在线| 亚洲欧洲精品天堂一级| 欧美成人精品一区| 欧美大片在线看免费观看| 亚洲黄色尤物视频| 免费人成精品欧美精品| 久久免费观看视频| 亚洲国产精品久久久久久女王| 欧美va日韩va| 欧美电影免费| 99亚洲伊人久久精品影院红桃| 欧美激情一区二区三区蜜桃视频| 久久一区免费| 亚洲另类自拍| 一区二区av在线| 国产欧美精品日韩区二区麻豆天美| 亚洲欧美中文在线视频| 亚洲女ⅴideoshd黑人| 国产亚洲精品久久久| 久久综合给合| 欧美gay视频| 亚洲一区二区久久| 欧美亚洲三区| 女人香蕉久久**毛片精品| 国产欧美一区二区精品性色| 亚洲欧美清纯在线制服| 亚洲综合激情| 亚洲黄色免费电影| 亚洲一区二区黄| 国产最新精品精品你懂的| 欧美刺激午夜性久久久久久久| 欧美激情一区二区三区不卡| 国产精品99久久久久久久vr | 久久亚裔精品欧美| 日韩一区二区精品在线观看| 一区二区三区精品久久久| 国产无遮挡一区二区三区毛片日本| 免费成人黄色片| 国产精品xxxxx| 欧美成人三级在线| 国产精品美女一区二区在线观看| 久久免费偷拍视频| 欧美日韩一区二区在线观看视频 | 一区二区欧美在线观看| 韩日欧美一区二区| 亚洲卡通欧美制服中文| 国产有码一区二区| 亚洲久久视频| 亚洲黑丝在线| 久久久久久欧美| 亚洲欧美一区二区三区久久 | 女人香蕉久久**毛片精品| 欧美视频中文一区二区三区在线观看| 久久久久国色av免费看影院| 欧美日韩一区在线观看| 欧美激情精品久久久久久变态| 国产精品影音先锋| 99精品国产热久久91蜜凸| 在线观看日韩av先锋影音电影院| 一区二区三区视频在线 | 狠狠干狠狠久久| 在线一区亚洲| 一区二区三区日韩在线观看| 久久裸体艺术| 久久九九免费视频| 国产欧美精品国产国产专区| 在线亚洲自拍| 国产精品99久久久久久白浆小说| 欧美成人四级电影| 麻豆成人av| 在线免费观看视频一区| 久久成人综合网| 久久综合给合久久狠狠色| 国产毛片一区| 亚洲一区二区三区乱码aⅴ蜜桃女| 一本色道久久88综合亚洲精品ⅰ| 欧美高清你懂得| 亚洲精品乱码久久久久| 亚洲免费大片| 老司机亚洲精品| 国产一区二区在线观看免费| 亚洲亚洲精品在线观看 | 99精品视频免费在线观看| 乱人伦精品视频在线观看| 欧美成黄导航| 亚洲精品自在久久| 欧美极品欧美精品欧美视频| 亚洲精品乱码| 欧美亚洲一区在线| 国产一区视频在线看| 久久免费99精品久久久久久| 欧美激情小视频| 亚洲视频久久| 国产精品永久免费观看| 久久精品国产免费| 亚洲国产精品第一区二区| 亚洲精品日韩精品| 国产精品久久二区二区| 午夜欧美大片免费观看| 久热精品在线| 99精品视频免费观看视频| 国产精品久久久亚洲一区| 性做久久久久久免费观看欧美| 久久影视精品| 亚洲精品在线观看视频| 国产精品大片wwwwww| 午夜在线精品偷拍| 亚洲国产美女| 亚洲欧美激情精品一区二区| 黄色在线成人| 欧美日韩综合网| 性色av一区二区三区在线观看| 欧美高清在线精品一区| 亚洲一区二区成人| 亚洲第一精品在线| 国产精品久久波多野结衣| 久久久一区二区三区| 亚洲毛片在线观看| 久久日韩粉嫩一区二区三区| 99精品欧美一区二区三区| 国内精品免费午夜毛片| 欧美日韩国产色综合一二三四| 亚洲天堂偷拍| 亚洲国产精品美女| 久久久久久亚洲精品杨幂换脸 | 亚洲狼人综合| 久久综合中文| 欧美在线观看视频一区二区| 亚洲人成在线影院| 伊人久久综合97精品| 国产精品久久久久久久久久久久| 久久久噜噜噜久噜久久 | 亚洲韩国青草视频| 久久久久久日产精品| 亚洲欧美国产另类| 夜夜嗨av色综合久久久综合网| 一区二区视频欧美| 国产午夜久久久久| 国产精品wwwwww| 欧美日韩一区不卡| 欧美精品一区三区在线观看| 久久综合久久久| 久久久精品免费视频| 久久精品国产一区二区三区|