zoukankan      html  css  js  c++  java
  • 简单的洗牌算法

     

    简单的洗牌算法

    /************************************************************************
    实现原理产生随机数,交换数组中的值

    ************************************************************************/


    #include "stdafx.h"

    /************************************************************************
    函数功能洗牌算法
       
    参数1: 一副牌的整形数组
       
    参数2: 数组长度
        
    备注: #include <time.h>
              #include <stdlib.h>
    ************************************************************************/

    void ChangCard(int aryBuffer[], int Len)
    {
        int i, nModTemp, nChangeTemp;

        //
    用时间作业参数来初始化随机数种子
        srand((unsigned)time(NULL));
        for (i = Len; i > 0; i--)
        {
            nModTemp = rand() % i;
            nChangeTemp = aryBuffer[i-1];
            aryBuffer[i-1] = aryBuffer[nModTemp];
            aryBuffer[nModTemp] = nChangeTemp;
        }
    }


    int main()
    {
        int aryCartomancy[54] = 
        {
            1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13,
           14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
           27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 
           40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
           53, 54
        };
        int i;
        
        //
    洗牌
        ChangCard(aryCartomancy, 54);
        //
    显示一下
        for (i = 0; i < 54; i++)
        {
            printf("%d, ", aryCartomancy[i]);
            if (0 == (i+1) % 13)
            {
                printf("\r\n");
            }
        }

        system("pause");
        return 0;
    }

  • 相关阅读:
    《Effective C++》笔记
    《C++ Qt 编程视频教程》
    Windows下802.11抓包
    springcloud01_ribbon使用及原理
    springboot04_springboot特性之Actuator
    springboot04_手写实现starter实现
    linux操作01_redis服务器安装
    springboot03_核心特性及设计思想
    springboot重新认识
    springboot01_微服务架构的现状及未来【上】
  • 原文地址:https://www.cnblogs.com/w413133157/p/1650973.html
Copyright © 2011-2022 走看看