经典洗牌算法C语言实现
来源:互联网 发布:淘宝找果店铺哪个靠谱 编辑:程序博客网 时间:2024/05/19 07:42
这种洗牌方式的算法:
1:初始化一个长度为54的数组,和54张牌。
2:从i=1开始到54,每次从剩余的牌堆中随机抽一张牌放到数组的i下标下。
这样我们可以用一个数组做也可以用两个数组做。
就和经典的选择排序一样。
#include<stdio.h>#include<time.h>#include<stdlib.h>#include<string.h>#include<vector>#include<algorithm>#define POKER_NUM 54int poker[54];void iniPoker(){ for(int i=0;i<POKER_NUM;i++) { poker[i]=i+1; }}void suffle(){ for(int i=0;i<POKER_NUM;i++) { int index=rand()%(POKER_NUM-i)+i; //获取从i~POKER_NUM的一个索引 std::swap(poker[i],poker[index]); //交换 }}void printPoker(){ for(int i=0;i<POKER_NUM;i++) { if(i%9==0) printf("\n"); printf("%4d",poker[i]); }}int main(){ srand(time(NULL)); iniPoker(); printPoker(); suffle(); printf("\n-------------------------------------------------------------\n"); printPoker();}
0 0
- 经典洗牌算法C语言实现
- 洗牌算法 (C语言)
- 经典排序算法(C语言实现)
- 常用经典算法的C语言实现
- c语言经典算法~~
- C语言经典算法
- C语言经典算法
- C语言经典算法
- [C/C++]洗牌算法
- 用java实现三个经典的洗牌算法
- C 语言 洗牌程序
- c语言经典算法算法
- 洗牌算法--C语言版
- c语言洗牌程序《学习别人的算法》
- 实现洗牌算法
- C++实现洗牌算法!
- java实现洗牌算法
- 实现洗牌算法
- 使内核支持NOR FLASH分区
- 四 SIP协议栈传输层的启动(1)
- 如何判断是否为第三方软件
- PHP在linux下读取word
- 五 SIP中一个INVITE消息的发起过程
- 经典洗牌算法C语言实现
- C++ 虚函数表解析
- Linux下用源码安装 MySQL 初始化mysql数据库时提示字符编码错误的解决办法
- winusb —— 不再为你的usb设备编写驱动
- iOS7 tableview separatorInset cell分割线左对
- hdu4027 线段树
- 【转】epoll精髓
- 如何选择开源许可证?
- 如何终止java线程