全排列程序
来源:互联网 发布:逆波兰表达式算法 视频 编辑:程序博客网 时间:2024/06/05 15:13
发现百度校招极为喜欢考全排列,无论是笔试还是面试都经常问到。
昨天笔试又碰到全排列,不幸的是居然写错了。。。
回来后又仔细把当时的思路完善了一下,c++代码如下
#include "stdafx.h"
#include <iostream>
using namespace std;
#define MAXSIZE 5
void swap(int *a,int *b)
{
int t;
t=*a;
*a=*b;
*b=t;
}
void quanpailie(int *a,int n)
{
if(n==1) //递归到最后一个元素,结束,表示排列完毕
{
for(int i=0;i<MAXSIZE;i++)
cout<<*(a-i); //反向打印
cout<<endl;
return;
}
for(int i=0;i<n;i++)
{
if(i!=0)//i=0单独处理,不做交换,少调用函数,节省资源
{
swap(a,a+i);
quanpailie(a+1,n-1);
swap(a,a+i);
}
else
quanpailie(a+1,n-1);
}
}
void main()
{
int A[MAXSIZE]={0,1,2,3,4};
quanpailie(A,MAXSIZE);
system("pause");
}
- 全排列程序
- 全排列程序
- 小程序:全排列
- 字符串的全排列程序
- 产生全排列的java程序
- 递归程序与全排列问题
- 一段递归程序的思考(全排列)
- 一段递归 程序(全排列问题)
- 一组整数的全排列【C程序】
- 全排列acc pascal程序加题解
- 全排列问题pascal解题程序
- 全排列与组合算法及程序
- 全排列
- 全排列
- 全排列
- 全排列
- 全排列
- 全排列
- Android 4.3实现类似iOS在音乐播放过程中如果有来电则音乐声音渐小铃声渐大的效果
- VC|MFC内存不能为"read"
- 设计模式之策略模式
- disown and nohup
- 引用参数与引用返回值 细节处提升代码效率
- 全排列程序
- mysql数据备份和恢复
- rpm spec file
- Java小知识点
- linux在shell中获取时间
- Refer to: http://blog.chinaunix.net/u2/60913/showart_1076685.html
- linux下的proc
- char 溢出
- 【厦门机场】1只鼠妈10个鼠崽全是外来“偷渡客”