利用递归实现排列让我哥恍然大悟
来源:互联网 发布:软件项目建设原则 编辑:程序博客网 时间:2024/05/16 08:06
在全排里的基础上加条件。4在3的前面。
方法体:
/** * @category 排列,递归算法 * @see 条件4在3的前面 * @param array * @param k * @param m */public void permutation(int array[], int k, int m) {boolean flag = true;String s = "";if (k == m) {for (int i = 0; i <= m; i++) {if (array[i] == 3) {for (int j = i; j <= m; j++) {if (array[j] == 4)flag = false;}}s += array[i];}if (flag) {System.out.print(s);System.out.println();}} else {for (int j = k; j <= m; j++) {swapIndex(j, k, array);permutation(array, k + 1, m);swapIndex(j, k, array);}}}
交换函数:
private void swapIndex(int a, int b, int[] array) {int temp = array[a];array[a] = array[b];array[b] = temp;}
调用:
sort.permutation(arr, 0, arr.length - 1);
结果:
124356124365124536124563124653124635125436125463125643126453126435126543143256143265143526143562143652143625142356142365142536142563142653142635145236145263145326145362145632145623146253146235146523146532146352146325154326154362154236154263154623154632152436152463152643156423156432156243164352164325164532164523164253164235165432165423165243162453162435162543214356214365214536214563214653214635215436215463215643216453216435216543243156243165243516243561243651243615241356241365241536241563241653241635245136245163245316245361245631245613246153246135246513246531246351246315254316254361254136254163254613254631251436251463251643256413256431256143264351264315264531264513264153264135265431265413265143261453261435261543423156423165423516423561423651423615421356421365421536421563421653421635425136425163425316425361425631425613426153426135426513426531426351426315432156432165432516432561432651432615431256431265431526431562431652431625435126435162435216435261435621435612436152436125436512436521436251436215413256413265413526413562413652413625412356412365412536412563412653412635415236415263415326415362415632415623416253416235416523416532416352416325453126453162453216453261453621453612451326451362451236451263451623451632452136452163452316452361452631452613456123456132456213456231456321456312463152463125463512463521463251463215461352461325461532461523461253461235465132465123465312465321465231465213462153462135462513462531462351462315524316524361524136524163524613524631521436521463521643526413526431526143543216543261543126543162543612543621542316542361542136542163542613542631541236541263541326541362541632541623546213546231546123546132546312546321514326514362514236514263514623514632512436512463512643516423516432516243564312564321564132564123564213564231561432561423561243562413562431562143624351624315624531624513624153624135625431625413625143621453621435621543643251643215643521643512643152643125642351642315642531642513642153642135645231645213645321645312645132645123641253641235641523641532641352641325654321654312654231654213654123654132652431652413652143651423651432651243614352614325614532614523614253614235615432615423615243612453612435612543
- 利用递归实现排列让我哥恍然大悟
- 利用递归实现全排列
- 利用递归实现全排列
- python 利用递归实现全排列
- 让我恍然大悟的Mysql高效率分页方法
- 全排列的递归实现以及利用STL实现全排列
- 利用递归输出全排列
- 全排列,递归实现
- 递归实现全排列
- 递归实现全排列
- 递归实现全排列
- 递归实现全排列
- 递归实现全排列
- 递归实现全排列
- 全排列递归实现
- 递归实现全排列
- 全排列递归实现
- 排列的递归实现
- SPRING DATA - REDIS配置
- Android音频系统学习笔记
- 针对fork()函数的深入理解!用事例family家谱来进行说明!
- 分布式搜索elasticsearch java API 之(二)------put Mapping定义索引字段属性
- VC文件目录选择对话框(任意目录)
- 利用递归实现排列让我哥恍然大悟
- J2ME 拼图游戏 快速开发 全过程 (七)——设置图片后的图片预览界面
- 从Nutch的输出日志分析其流程
- Oracle 10053 事件
- 如何用C语言清空特定文件夹中的所有文件
- 用shell写俄罗斯方块
- x86中的页表结构和页表项格式
- poj2251 - Dungeon Master
- python 如何获取文件夹下所有的目录。