zoukankan      html  css  js  c++  java
  • 扑克洗牌

    冒泡:
    bubbleSort(void* data[],int n, int (*cmpPro)(void* ,void*))
    {
    void *temp=NULL;
    for(int i=0;i<n-1;i++)
    for(int j=0;j<n-i-1;j++)
    {
    if(( cmpPro(data[j],data[j+1]))>1)
    temp=data[j];
    data[j] = data[j+1;
    data[j+1] = temp;
    }

    }

    关联容器: map multimap set multiset
    非关联容器: list vector deque

    什么是回调函数:
    回调函数就是一个通过函数指针调用的函数。
    回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
    扑克牌洗牌
    #include<time.h>
    #include <stdlib.h>


    int main(){
    int a[4][13],d,i,j,m,num=0,b[52]={0};
    srand(time(NULL));//种种子
    for(i=0;i<4;i++)
    {
    for(j=0;j<13;j++)
    {
    a[i][j]=j+1;
    }
    }//初始化数组
    for(int i=0;i<4;i++)
    {
    for(int j=0;j<13;j++)
    printf("%d ",a[i][j]);

    }
    for(;num<=52;) //洗牌
    {
    d=rand()%52; //随机一个数
    for(m=0;m<num;m++) //除重
    { //6 num =0
    if(d==b[m])
    {
    break;
    }
    }
    if(m==num) //数组随机
    {
    b[num]=d; //把52个把52不同的随机数放入数组
    printf("****%d ",b[num]);
    switch(d/13) //打印花色
    {
    case 0:printf("红桃");break;
    case 1:printf("方块");break;
    case 2:printf("草花");break;
    case 3:printf("黑桃");break;
    }
    num++;
    printf("%2d\%c",a[d/13][d%13],num%13==0 && num!=0?' ':' '); //
    }

    }

    return 0;
    }
    }

  • 相关阅读:
    第 6 章 Cinder
    第 6 章 Cinder
    第 6 章 Cinder
    第 6 章 Cinder
    第 6 章 Cinder
    第 6 章 Cinder
    第 6 章 Cinder
    第 6 章 Cinder
    第 6 章 Cinder
    第 6 章 Cinder
  • 原文地址:https://www.cnblogs.com/countryboy666/p/10964262.html
Copyright © 2011-2022 走看看