简单之整型数组排列组合
来源:互联网 发布:淘宝女鞋冬季靴子 编辑:程序博客网 时间:2024/05/20 21:58
inline void __fastcall _Print(const unsigned int _uArea[], unsigned int _uMaxSize);inline bool __cdecl _CmpVal(const unsigned char _sArea[], const unsigned char _dArea[], unsigned int _nLen);unsigned int __cdecl _CompArray(/*const unsigned char _dArea[],*/ unsigned int _uMaxValue, unsigned int _uTypeSize);inline void __fastcall _Print(const unsigned int _uArea[], unsigned int _uMaxSize){ for (register unsigned int n = 0U; n < _uMaxSize; ++n) { printf("%u+", _uArea[n]); } printf("0\r\n"); //::Sleep(100U);}inline bool __cdecl _CmpVal(const unsigned char _sArea[], const unsigned char _dArea[], unsigned int _nLen){ if (memcmp(_sArea, _dArea, _nLen) == 0) { return true; } return false;}unsigned int __cdecl _CompArray(/*const unsigned char _dArea[],*/ unsigned int _uMaxValue, unsigned int _uTypeSize){ unsigned int _uMemSize = (_uMaxValue * _uTypeSize); unsigned int * _uArea = (unsigned int *)malloc(_uMemSize); _uMemSize = _uMemSize - _uTypeSize; if (_uArea != NULL) { //if (_uMaxValue > 255U) //{ for (register unsigned int i = 1U/*0U*/; i < _uMaxValue/*256U*/; ++i) { unsigned int _uCount = 0U; unsigned int _uIndex = 0U; register unsigned int _uNext = 0U; register unsigned int _uTmpVal = i; _uArea[_uNext++] = _uTmpVal; memset((_uArea + 1U), 0, _uMemSize); for (register unsigned j = i + 1U; j < _uMaxValue/*256U*/; ++j) { _uTmpVal += j; if (_uTmpVal < _uMaxValue) { _uArea[_uNext++] = j; continue; } else if (_uTmpVal == _uMaxValue && _uIndex != j) { _uIndex = j; _uArea[_uNext++] = j; _Print(_uArea, _uNext); _uNext -= (_uNext - 1U); j = (i + 1U) + _uCount++; _uTmpVal = i; continue; } else { _uTmpVal -= j--; _uTmpVal -= j; _uNext--; continue; } } } //} free(_uArea); } return 0U;}int _tmain(int argc, _TCHAR* argv[]){ //求1 - 4095结果为4096的不同排列组合 _CompArray(4096U, sizeof(unsigned int)); return 0;}
0 0
- 简单之整型数组排列组合
- 数组排列组合
- 简单排列组合
- 整型数组
- 整型数组左移或右移位简单操作
- 数组排列组合算法汇总
- 数组排列组合一
- C++数组的排列组合
- bzoj1227(排列组合+树状数组)
- 二维数组排列组合
- java数组排列组合
- 将二维数组排列组合
- 获得数组全部排列组合
- Android-NDK开发之第三个例子--传递整型数组
- Android-NDK开发之第三个例子--传递整型数组
- 【Java学习之代码学习】 Prog36_自定义整型数组
- 简单的排列组合题
- fjnu 1730 整型数组
- 销售税面试题二之设计方案
- MVC Redirect
- 类模板和函数模板
- POJ1042 Gone Fishing贪心
- 随机获得用户定义的整数实现
- 简单之整型数组排列组合
- matlab笔记
- VC++学习心得(八)
- stack
- 算法之旅——KMP模式匹配
- 7.18_java学习_继承
- 开发Java Web对JDK,Tomcat,Eclipse安装配置
- 读写锁的实现
- Android入门:ContentProvider