無重復(fù)隨機(jī)數(shù)生成

做作業(yè)時候遇到這個問題,感覺這種算法很快捷
一個洗牌的算法。。多線程沒做出來然后放棄了

生成1-52之內(nèi)的不重復(fù)隨機(jī)數(shù),一個數(shù)代表了一張牌,循環(huán)52次即摸牌完畢。

#include <iostream>
#include <cstdlib>
#include <ctime>


using namespace std;

int main()
{
    string a[5]={"紅桃","方片","黑桃","梅花"};
    string b[15]={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
    string c[60]={"0"};
    int k=0;            //總牌數(shù),初始化為0
    srand((int)time(0));

    //初始化牌堆
for(int i=0;i<4;i++)
        for(int j=0;j<13;j++)
        {
            c[k]=a[i]+b[j];
            k++;
        }
    
//循環(huán)計數(shù)遞減,每抽取一個字符串就將其放到字符串組末尾,從下次循環(huán)中剔除
for(int i=k;i>=1;i--)
    {
        int temp = rand()%i ;
        cout<<"第"<<i<<"張:"<<c[temp]<<endl;
        swap(c[temp],c[i-1]);
    }
    return 0;
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,138評論 25 708
  • 北京新學(xué)道金泉書院 六年級 陳琦翀 童年就像一個閘子, 一打開,無數(shù)記憶呈現(xiàn)眼前。 童年如同一片沙灘, 眺望一眼,...
    見字如面六年級閱讀 948評論 1 6
  • 你對自己有覺察嗎?你看見自己的成長動力了嗎?什么可以激勵你不斷努力?什么可以讓你挫敗,把你擊得粉碎?你了解自己嗎?...
    graciali閱讀 302評論 0 0
  • 送你一個男朋友(上) 文/十里sl 1 秦矜剛鬼鬼祟祟的靠近墻根,就看到墻外面一顆腦袋一跳一跳,在墻頭忽隱忽現(xiàn)。 ...
    十里sl閱讀 784評論 0 3
  • 大姐來探我們,返老家時,順便捎回一封機(jī)哥給父親大人的信,并附上零花錢若干! 我沒看到父親臉上的滄桑,只看到其笑逐顏...
    厚德明禮閱讀 1,060評論 4 4

友情鏈接更多精彩內(nèi)容