洗牌算法
#include<stdio.h> #include<stdlib.h> #include<time.h> void swap(int &a,int &b) { int c; c = a; a = b; b = c; } void display(int card[],int n) { int i; for(i=0;i<n;i++) printf("%d ",card[i]); printf("\n"); } /*算法主程序*/ void Shuffle(int card[],int n) { int i; int index=0; for(i=0;i<n;i++) { /*返回i到n之间的一个数字*/ index=rand()%(n-i)+i; swap(card[i],card[index]); } } int main() { int card1[54]; for(int i=0;i<54;i++) { card1[i]=i; } srand((unsigned)time(NULL)); Shuffle(card1,54); printf("Wash.......\n"); display(card1,54); return 0; }
本博客内容均来自网络,如有雷同,是我抄袭!