<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                大多數紙牌游戲都需要洗牌,也就是讓紙牌隨機排列。在第10.5節,我們看到了怎樣生成隨機數,但怎樣利用隨機數實現洗牌功能卻并非顯然意見的。 一種可行的方案是,模擬人洗牌的方法,將牌分為兩堆,然后通過在每個牌堆中輪流選擇的方式實現原牌堆的重新組織。因為一般而言,人并不能做到完美地洗牌,而程序經過大約7次迭代之后,牌堆中紙牌的順序已經相當隨機了。但是計算機程序每次在做完美洗牌的時候有一個令人討厭的屬性——它并非真正隨機的。實際上,經過8次完美洗牌之后,你會發現牌堆又回到原來的排列了。關于這一結論的討論,請參考[http://www.wiskit.com/marilyn/craig.html](http://www.wiskit.com/marilyn/craig.html),或者以“perfect shuffle”為關鍵詞通過搜索引擎查詢相關信息。 還有一個更好的洗牌算法:遍歷牌堆,每次選擇一張紙牌,每次迭代時選擇兩張紙牌并交換其位置。 下面代碼是該算法工作原理的大體輪廓。為了大概說出程序的意思,我混用了C++語句和自然語言句子,這有時也稱為**偽代碼**: ~~~ for (int i=0; i<cards.length(); i++) { // 在i和cards.length()之間選擇一個隨機數 // 將第i張牌和隨機選擇的紙牌交換 } ~~~ 偽代碼的優點是能清晰地表達出你需要的函數。在這個例子中,我們需要像randomInt這樣的函數用于在參數low和high之間選擇一個隨機數,也需要swapCards這樣的函數用于交換兩個索引值指定的位置的紙牌。 看一下第10.5節,你就應該能想出怎么編寫randomInt函數了,盡管還是要小心處理生成的可能在區間之外的索引值。 你也可以自己想出swapCards函數。這些函數的剩余實現就作為作業留給讀者。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看