设为首页 加入收藏

TOP

全排列递归算法
2014-11-14 22:45:25 】 浏览:8742
Tags:排列 算法

  1、将一个n维数组初始化,第0位填1,第1位填2.。。。。。 第n-1位填n;


  2、将数组看为两部分,一个是已排好的,剩下是待排的,分别用两个指针指向;


  3、将第一个字符,依次与后n-1个字符交换值,每次交换得到一个新的首数字;


  4、剩下的n-1个数字按2、3步骤重复直至所有数组完成排列;


  使用c++实现,代码还有些繁琐,明天再仔细看看优化一下


  代码


  1 #include


  2 using namespace std;


  3


  4 void swap(int *p1,int *p2)


  5 {


  6 //交换p1和p2指向的值


  7 int tmp=*p1;


  8 *p1=*p2;


  9 *p2=tmp;


  10 }


  11 void output(int *p,int n)


  12 {


  13 while(n>0)


  14 {


  15 cout<<*p;


  16 p++;


  17 n--;


  18 }


  19 cout<<"\n";


  20 }


  21


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇一道面试题的解析 下一篇C++中的引用

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目