• <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>

            concentrate on c/c++ related technology

            plan,refactor,daily-build, self-discipline,

              C++博客 :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
              37 Posts :: 1 Stories :: 12 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(9)

            我參與的團(tuán)隊(duì)

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            實(shí)現(xiàn)這個(gè)有這三種辦法:
            1)隨機(jī)排序,按照順序先后取出M個(gè)數(shù)字。
             IntVec shuffle(IntVec& vec)
            133 {
            134 int size = vec.size();
            135 IntVec::iterator first = vec.begin();
            136 IntVec::iterator last = vec.end();
            137 for(IntVec::iterator i = first + 1; i != last; ++i)
            138 {
            139 std::iter_swap(i, first + rand()%((i - first)+ 1));
            140 }
            141 return vec;
            142 }
            這個(gè)呢,不會(huì)影響源數(shù)組,這個(gè)
            2)取M次,每次做個(gè)事情就是隨機(jī)出一個(gè)數(shù),添加到目標(biāo)數(shù)組里面,然后從源數(shù)組中刪除。。
            143
            144 IntVec shuffle(IntVec& vec, int count)
            145 {
            146     IntVec desVec;
            147     for(int i = 0; i < count;i++)
            148     {
            149         int random = rand()%vec.size();
            150         desVec.push_back(vec[random]);
            151         vec.erase(remove(vec.begin(),vec.end(),vec[random]),vec.end());
            152     }  
            153     return desVec;
            154 }
            這個(gè)呢,會(huì)影響源數(shù)組。
            3)取M次,借助一個(gè)輔助數(shù)組記錄哪個(gè)數(shù)據(jù)被取過(guò),隨機(jī)出一個(gè)數(shù),添加到目標(biāo)數(shù)組里面,然后將這個(gè)值添加到輔助數(shù)組里面.
             IntVec shuffle2(IntVec& vec, int count)
            158 {
            159     IntVec desVec;
            160     IntVec flagVec;
            161     for(int j = 0; j < count; j++)
            162     {
            163         flagVec.push_back(0);
            164     }
            165     for(int i = 0; i < count;i++)
            166     {
            167
            168         int random = rand()%vec.size();
            169         if (flagVec[random] == 0)
            170         {
            171             desVec.push_back(vec[random]);
            172             flagVec[random] = 1;
            173         }
            174         else
            175         {
            176             i--;// 如果已經(jīng)取過(guò)了,這次不算.
            177         }
            178
            179     }
            180     return desVec;
            181 }
            posted on 2016-04-02 11:51 jolley 閱讀(1277) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 數(shù)據(jù)結(jié)構(gòu)與算法

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            91精品国产91久久久久福利| 99久久婷婷国产综合精品草原| 久久久久国产精品麻豆AR影院| 久久中文字幕一区二区| 久久青青草原精品国产不卡| 久久久久久久波多野结衣高潮| 国内精品伊人久久久久| 日韩十八禁一区二区久久| 久久久久免费看成人影片| 久久99精品国产麻豆婷婷| 99久久综合国产精品免费| 日本久久久精品中文字幕| 久久综合偷偷噜噜噜色| 狠狠综合久久AV一区二区三区 | 欧美一区二区精品久久| 欧美性大战久久久久久| 久久免费美女视频| 亚洲欧美日韩久久精品第一区| 国产精品美女久久久久av爽| 大伊人青草狠狠久久| 国产亚洲美女精品久久久2020| 久久婷婷色综合一区二区| aaa级精品久久久国产片| 波多野结衣AV无码久久一区| 久久夜色撩人精品国产小说| 国产精品久久久99| 色综合久久88色综合天天| 久久精品国产亚洲av麻豆色欲| 久久亚洲熟女cc98cm| 一级女性全黄久久生活片免费| 久久久精品日本一区二区三区| 一本色道久久88加勒比—综合| 狠狠色丁香婷婷久久综合不卡| 久久66热人妻偷产精品9| 久久精品毛片免费观看| 亚洲级αV无码毛片久久精品| 亚洲精品国产第一综合99久久| 天堂无码久久综合东京热| 亚洲а∨天堂久久精品9966| 日韩久久无码免费毛片软件| 久久婷婷人人澡人人爽人人爱|