• <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>
            posts - 7,  comments - 64,  trackbacks - 0
              2010年12月10日
                我想寫一個爬蟲程序。現(xiàn)在需要存放訪問過的URL。如果用數(shù)據(jù)庫存放則太慢,若放在默認(rèn)的SET容器中,當(dāng)?shù)竭_(dá)一定數(shù)量時會使程序崩潰。
            現(xiàn)在我想把文件直接映射成set<string>容器的空間。也就是set申請的內(nèi)存全部在我所指定的文件中。
            另外程序可用4G空間中有2G是系統(tǒng)保留的。如果進(jìn)行文件映射后,是不是也只能訪問2G的空間?
            最后,我想問問,如果我進(jìn)行了文件映射,同時又從實際內(nèi)存中申請了一快內(nèi)存,如何保證映射的地址和從內(nèi)存中申請的地址不重復(fù)呢?
            請大家?guī)蛶兔Γ詈笥性创a或網(wǎng)站參考。
            posted @ 2010-12-10 16:18 HIT@ME 閱讀(2024) | 評論 (6)編輯 收藏
              2009年9月3日

            我現(xiàn)在需要統(tǒng)計一篇文章中的單詞數(shù)量,并排序輸出。
            格式

            單詞1 500
            單詞2 499
            單詞3 300
            .....
            ...
            ..
            .

            現(xiàn)在的思路是
            第一步:先將單詞讀入到map<string,size_t> ssmap;當(dāng)中;這樣每次掃描到一個新單詞后都可以++ssmap[str];來統(tǒng)計單詞數(shù);
            第二步:將map中的內(nèi)容拷貝到vector<pair<string*,size_t> > vec;當(dāng)中,之后對vec用sort進(jìn)行排序。(之所以要用string*是因為不希望發(fā)生string的拷貝構(gòu)造,以免浪費時間)。
            第三步:將vec輸出。

            試驗了一下上述方法可以正確執(zhí)行。
            但我想應(yīng)該有更快的方法,請各位賜教一下!


            呵呵,謝謝大家這么積極。

            字符串長度沒有限制,這個從一個分詞程序?qū)ξ恼逻M(jìn)行分詞處理以后的結(jié)果。單詞可能是“的,了”這種單個字,也可能是“中華人民共和國”這種字符串。還有可能遇到像“\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\...(n個)”這種比較變態(tài)的符號。

            posted @ 2009-09-03 16:05 HIT@ME 閱讀(1994) | 評論 (16)編輯 收藏
              2009年8月20日
                 摘要: 最近在百度知道上回答了一道問題,并為他封裝了一個類來解決。大意是不開辟新的數(shù)組同時排序兩個數(shù)組。
            http://zhidao.baidu.com/question/112777967.html

            之后想要給這個類添加iterator好直接使用sort之類的函數(shù),經(jīng)過1個多小時的忙碌(能力有限,可以鄙視一下),終于實現(xiàn)了random_access_iterator.
              閱讀全文
            posted @ 2009-08-20 10:06 HIT@ME 閱讀(1899) | 評論 (4)編輯 收藏
              2009年8月18日
                 摘要: 閑來無事,給一個虛擬文件磁盤的驅(qū)動加上了一個GUI。有興趣的可以看看。(技術(shù)含量不高)  閱讀全文
            posted @ 2009-08-18 13:32 HIT@ME 閱讀(2284) | 評論 (4)編輯 收藏
              2009年6月30日

            記得以前在一本書上看過boost::shared_ptr的回帶來一定的效率損失,但是并不大.今天閑來無事,編譯了一個BOOST并簡單測試了一下,看看到底有多少性能損失.測試代碼和結(jié)果如下:

            比較函數(shù)
            template <class T>
            class compareP
            {
            public:
                    bool operator() (const T lh,const T rh) const
                    {
                            return *lh<*rh;
                    }

            };


            boost:
            int _tmain(int argc, _TCHAR* argv[])
            {
                    DWORD oldtime = GetTickCount();
                    typedef map<boost::shared_ptr<string>,size_t,compareP<boost::shared_ptr<string> > > container_type;
                    typedef container_type::iterator iterator;
                    container_type container;
                    for (size_t i(0) ; i<500000 ; ++i)
                    {
                            boost::shared_ptr<string> pstr(new string);
                            char buffer[32];
                            *pstr = itoa(i,buffer,10);
                            container[pstr]=0;
                    }
                    cout<<GetTickCount() - oldtime <<endl;
            return EXIT_SUCCESS;
            }

            boost結(jié)果:
            2000
            2015
            2015
            2016
            2017


            指針:
            int _tmain(int argc, _TCHAR* argv[])
            {
                    DWORD oldtime = GetTickCount();
                    typedef map<string*,size_t,compareP<string*> > container_type;
                    typedef container_type::iterator iterator;
                    container_type container;
                    for (size_t i(0) ; i<500000 ; ++i)
                    {
                            string *pstr = new string;
                            char buffer[32];
                            *pstr = itoa(i,buffer,10);
                            container[pstr]=0;
                    }
                    cout<<GetTickCount() - oldtime <<endl;
            return EXIT_SUCCESS;
            }

            指針結(jié)果:
            937
            938
            954
            953
            953

            執(zhí)行速度已經(jīng)相差一倍了.自動內(nèi)存管理的代價啊!~~~~
            環(huán)境:Q8200 2.33GHZ 4G內(nèi)存

            以上只是簡單的測試,僅拱參考


            補充說明:

            很多朋友流言說在MAP中存放string*沒有意義。可是我上一個項目就需要這么做。

            試想我現(xiàn)在有10篇文檔,現(xiàn)在需要統(tǒng)計每篇文檔當(dāng)中每個字出現(xiàn)的次數(shù),還需要統(tǒng)計全部文章中全部字出現(xiàn)的次數(shù)。為了保證效率,應(yīng)當(dāng)保證每個字在內(nèi)存當(dāng)中只留一份拷貝(因為以后有可能統(tǒng)計每個詞,甚至每句話出現(xiàn)的次數(shù))。要實現(xiàn)這個功能,是否還有更好的算法?


            還有朋友流言說指針版沒有銷毀string指針。可是在這個程序中執(zhí)行cout<<GetTickCount() - oldtime <<endl;之前shared_ptr也沒有釋放資源。所以資源的釋放不會造成誤差。

            luck朋友的方法最為有效,把比較函數(shù)變成:

            bool operator() (const T &lh,const T &rh) const

                    {

                            return *lh<*rh;

                    }

            下面是shared_ptr執(zhí)行5次的時間:

            968

            969

            985

            969

            969


            下面是string*執(zhí)行5次的時間:

            859

            875

            860

            859

            860


            看來即使是小對象也不能放松!當(dāng)很多小對象發(fā)生構(gòu)造和析構(gòu)時所耗費的時間還是不容小視的!~

            posted @ 2009-06-30 21:09 HIT@ME 閱讀(3808) | 評論 (14)編輯 收藏
              2009年6月12日
                 摘要: 大學(xué)畢業(yè)了!!上來感嘆一下!并拿出自己的畢業(yè)設(shè)計分享一下。
            這個小東西是用了一個星期完成的。BUG肯定不少,大家湊合著看一下吧。感覺有趣的就拿去玩玩。
            說說基本思路。
            1.對文件進(jìn)行分詞處理
            2.通過統(tǒng)計訓(xùn)練文檔當(dāng)中的詞頻方差,構(gòu)造評判矩陣
            3.之后在構(gòu)造待分類文檔的評判向量
            4.用評判向量和構(gòu)造矩陣相乘,選出最接近的分類。
            程序文件:
              閱讀全文
            posted @ 2009-06-12 21:38 HIT@ME 閱讀(1398) | 評論 (2)編輯 收藏
              2008年12月29日
            2008.12.29
               昨天晚上終于把象棋的棋盤畫出來了!
               今天則需要把棋子初始化,之后放到象棋開局的位置上。(這個工作也順利完成了)
               現(xiàn)在的工作是如何在CplayDlg類上面移動棋子。現(xiàn)在的思路是在棋盤類當(dāng)中加入一個二維數(shù)組,將屏幕坐標(biāo)和棋盤的邏輯坐標(biāo)一一對應(yīng),以方便查找。然后將選定棋子move到新的位置,再調(diào)用OnPaint();
               順便說一下現(xiàn)在程序當(dāng)中的類
               CplayDlg----MFC生成的主要類
               CCheckerman----自己寫的棋子類。主要方法就是MOVE。
               CChessboard----自己寫的棋盤類。負(fù)責(zé)畫出棋盤,并且建立屏幕坐標(biāo)和棋盤邏輯坐標(biāo)的對應(yīng)關(guān)系~!
            目前界面做到這個程度了。30號先回學(xué)校考試。之后聽完今年的維也納音樂會再來繼續(xù)做吧~!

            順便說一下。這個棋盤是我自己一筆一筆用VC畫出來的。真費勁啊!還有那些棋子的素材也來之不易。我把一個象棋游戲當(dāng)中的資源給拔下來了!又需要素材或者源程序的朋友請郵件聯(lián)系!~


            ps:這個游戲的四大目標(biāo)
               1、實現(xiàn)雙人同機對戰(zhàn)
               2、實現(xiàn)雙人網(wǎng)絡(luò)對戰(zhàn)
               3、實現(xiàn)人機對戰(zhàn)
               4、加入后臺數(shù)據(jù)庫實現(xiàn)用戶注冊和積分等功能。注冊部分希望可以獨立的使用Ruby on Rails寫出來!

            小弟初學(xué)乍練。不到之處多多包涵!



            2008.12.31
               在2008年最后一天的下午,我又想寫一寫這個想起程序了。
              目前遇到的問題是由于使用DrawIconEx等函數(shù)實現(xiàn)棋子的移動效果的時候屏幕會出現(xiàn)閃爍!請問各位如何防止這種情況的出現(xiàn)呢?換句話說就是在調(diào)用OnPaint函數(shù)的時候,只刷新當(dāng)前棋子位置的屏幕,而其他部分則不刷新!
              第二個問題是我想用GDI+來顯示ICO圖像。可是卻失敗了,源碼如下……
                            Image image(L"C:\\Users\\Administrator\\Desktop\\ico128.ico");
                            CRect rect;
                            GetWindowRect(&rect);
                            Graphics graphics(hdc);
                            graphics.DrawImage(&image, 0, 0,rect.Width(),rect.Height());
             但是當(dāng)把imang參數(shù)變?yōu)長"C:\\Users\\Administrator\\Desktop\\i200831313448532_2.jpg就能顯示出來。不知道是不是GDI+不支持ICO格式呢?(我又檢查了一遍,路徑?jīng)]有問題!);
              請各位老大賜教一下吧!~

            僅列出標(biāo)題  
            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            常用鏈接

            留言簿(5)

            隨筆檔案

            test

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            1000部精品久久久久久久久| 国内精品久久久久影院薰衣草 | 日产精品久久久一区二区| 中文精品久久久久人妻不卡| 精品久久久久久无码专区不卡| 香港aa三级久久三级| 人妻丰满?V无码久久不卡| 亚洲精品无码久久久久sm| 91久久福利国产成人精品| 久久婷婷五月综合色奶水99啪| 久久精品国产精品亚洲精品| 久久久久久久久66精品片| 成人久久综合网| 久久久国产精华液| 国产成人精品久久| 精品永久久福利一区二区| 日本精品久久久久影院日本| 色综合久久天天综合| 国产亚洲精品久久久久秋霞| 久久精品国产亚洲Aⅴ蜜臀色欲| 久久久久无码精品国产| 久久久国产打桩机| 一本色综合久久| 久久久无码精品午夜| A级毛片无码久久精品免费| 久久综合国产乱子伦精品免费| 久久久久久免费视频| 一本色道久久88综合日韩精品 | 久久久亚洲欧洲日产国码二区| 国产高潮国产高潮久久久91 | 久久精品一区二区| 中文国产成人精品久久不卡| 色天使久久综合网天天| 久久精品国产只有精品66| 久久亚洲国产中v天仙www| 久久精品国产免费| 久久婷婷国产麻豆91天堂| 青青草原1769久久免费播放| 99久久免费只有精品国产| 狠狠久久综合| 伊人色综合九久久天天蜜桃|