全排列非递归算法
来源:互联网 发布:淘宝自助小火锅图片 编辑:程序博客网 时间:2024/06/05 10:02
#include <stdio.h>void swap(char *a , char *b){ char temp = *a; *a = *b; *b = temp;}void Reverse(char * a , char *b){ while(a<b) { swap(a,b); a++; b--; }}void showstr(char a[],int len){ printf("%s\n",a);}void FindNextPermutation(char a[],int len){ if(NULL == a) { return; } char *pEnd = a + len; char *p , *q , *pFind; p = pEnd; while(p!=a) { q = p; --p; if(*p < *q) //从后向前寻找第一个升序序列 { pFind = pEnd;//在后面的降序序列中找到比目标数字大的最小的数 while(*pFind <= *p) { pFind--; } swap(pFind,p); Reverse(q,pEnd);//替换后进行全部翻转 showstr(a,len); return ; } } Reverse(p,pEnd); return;}int main(){ char str[] = "1234"; char end[] = "4321"; int len = sizeof(str) - 2; FindNextPermutation(str,len); do { FindNextPermutation(str,len); }while(0!=strcmp(str,end));}
阅读全文
0 0
- 全排列非递归算法
- 非递归全排列算法 c++
- 全排列的非递归算法
- 全排列的非递归算法
- 全排列生成算法(非递归)
- 组合与全排列非递归算法
- 全排列算法之非递归实现
- 全排列算法的非递归实现
- 非递归全排列
- 全排列非递归
- 非递归全排列
- 全排列非递归
- 全排列 递归,非递归
- 全排列算法的递归与非递归实现
- 全排列算法的递归与非递归实现
- 全排列算法非递归实现和递归实现
- 全排列算法非递归实现和递归实现
- 全排列算法非递归实现和递归实现
- RabbitMQ分布式集群架构
- 主日学 | 以福音为中心的婚礼
- CJOJ 1131 机器分配/Luogu 2066 机器分配
- tbody、thead
- RabbitMQ分布式集群架构
- 全排列非递归算法
- 将博客搬至CSDN
- 和你结婚的人,就是厨房里的那只老鼠
- 网站不收录原因和解决方法
- Android studio data文件无法访问
- JavaScript本地对象常用方法(五)——窗口对象
- MarkDown使用小技巧
- C++__数据类型和表达式
- 捋顺 用于分类任务的softmax 和softmaxwithloss