java開發手記

          常用鏈接

          統計

          最新評論

          2008年7月11日 #

          洗牌算法

           在我過去三年的職涯中,遇到過無數的問題,一直想記錄下來,但是一直耽擱著。從這篇洗牌算法開始,我會一點一點將我所記得的問題和解決辦法整理出來。

          固定數目的撲克牌,打完后洗牌,每次洗牌得到的順序都是不一樣的。

          22個編號的盒子,對應于22種給定的money,每次運行時讓盒子里存放隨機的money。這是剛畢業的頭半年,我剛開始學習java不久,領導讓我寫的一個游戲程序里的一個技術問題。后來我知道了,是網絡上的一個小游戲。只是給我的資料里不需要做游戲的界面,只要實現游戲的后臺,在控制臺輸入輸出就可以。

                  public int[] randoms() //產生22個隨機排列的value

                 {

                        Random r = new Random();     

                        int temp1,temp2;

                        int send[] = {1,10,50,100,500,1000,5000,10000,25000,50000,75000,100000,

                                      300000,500000,1000000,1500000,2000000,3500000,5000000,

                                      7500000,10000000,25000000};

                        int len = send.length;

                        int returnValue[] = new int[22];

                        for(int i=0;i<22;i++)

                        {

                               temp1 = Math.abs(r.nextInt())% len;

                               returnValue[i] = send[temp1];

                               temp2 = send[temp1];

                               send[temp1] = send[len-1];

                               send[len-1] = temp2;

                               len--;

                        }

                        return returnValue;

                 }

          posted @ 2008-07-11 12:40 米香兒 閱讀(1373) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 昌乐县| 金乡县| 方城县| 永善县| 富顺县| 汶上县| 桃源县| 普兰县| 太和县| 南阳市| 三穗县| 务川| 沽源县| 浦江县| 洮南市| 曲阜市| 龙泉市| 奈曼旗| 大洼县| 和静县| 当雄县| 徐闻县| 郧西县| 江永县| 扎兰屯市| 兴和县| 高州市| 淳安县| 福海县| 诏安县| 托里县| 绩溪县| 临泽县| 柳河县| 益阳市| 凯里市| 桑日县| 宁陕县| 高阳县| 顺义区| 霞浦县|