博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个递归+二分法的洗牌程序
阅读量:4223 次
发布时间:2019-05-26

本文共 674 字,大约阅读时间需要 2 分钟。

网站有一篇博客探讨了关于洗牌的三种方法,其中一种如题所述,现贴代码如下:

const size_t MAXLEN  = 10;const char TestArr[MAXLEN] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'};static char RecurArr[MAXLEN] = {0};static int cnt = 0;void ShuffleArray_Recursive_Tmp(char *arr, int len){	if (cnt>MAXLEN || len<=0) {		return;	}	int pos = rand()%len;	RecurArr[cnt++] = arr[pos];	if (len==1) return;	ShuffleArray_Recursive_Tmp(arr, pos);	ShuffleArray_Recursive_Tmp(arr+pos+1, len-pos-1);}void ShuffleArray_Recursive(char *arr, int len){	memset(RecurArr, 0 , sizeof(RecurArr));	cnt = 0;	ShuffleArray_Recursive_Tmp(arr, len);	memcpy(arr, RecurArr, len);}void print(char *arr, int len){	int i;	for (i=0; i

还是有点疑问,慢慢看。。

转载地址:http://wzkqi.baihongyu.com/

你可能感兴趣的文章
C++ 字符串string操作
查看>>
MySQL必知必会 -- 了解SQL和MySQL
查看>>
MySQL必知必会 -- 排序检索数据 ORDER BY
查看>>
POJ 1154 解题报告
查看>>
POJ 1101 解题报告
查看>>
ACM POJ catalogues[转载]
查看>>
常见的排序算法
查看>>
hdu 3460 Ancient Printer(trie tree)
查看>>
DAG以及任务调度
查看>>
LeetCode——DFS
查看>>
MapReduce Task数目划分
查看>>
3126 Prime Path
查看>>
app自动化测试---ADBInterface驱动安装失败问题:
查看>>
九度OJ 1091:棋盘游戏 (DP、BFS、DFS、剪枝)
查看>>
c++使用宏检测类是否包含某个函数或者变量属性
查看>>
CSS之Multi-columns的跨列
查看>>
CSS之浮动(一)
查看>>
CSS之浮动(二)
查看>>
AtomicInteger源码解析
查看>>
CopyOnWriteArraySet源码学习
查看>>