全排列 数据结构(机工出版) 递归算法 有改动 还有不完善的地方!
2013-10-14 23:31
387 查看
#include<iostream>
using namespace std;
void swap(int *x,int *y)
{
int temp=*x;
*x=*y;
*y=temp;
}
void perm(int *list,int i,int n)
{
int j,temp;
if(i==n)
{
for(j =0; j <= n; j++)
cout<<list[j]<<" ";
cout<<endl;
}
else
{
for(j=i;j<=n;j++)
{
swap(list[i],list[j]);
perm(list,i+1,n);
swap(list[i],list[j]);
}
}
}
int main()
{
int a[1010],n;
while(cin>>n)
{
for(int i=n;i<n;i++)
{
cin>>a[i];
}
perm(a,0,n-1);
}
return 0;
}
using namespace std;
void swap(int *x,int *y)
{
int temp=*x;
*x=*y;
*y=temp;
}
void perm(int *list,int i,int n)
{
int j,temp;
if(i==n)
{
for(j =0; j <= n; j++)
cout<<list[j]<<" ";
cout<<endl;
}
else
{
for(j=i;j<=n;j++)
{
swap(list[i],list[j]);
perm(list,i+1,n);
swap(list[i],list[j]);
}
}
}
int main()
{
int a[1010],n;
while(cin>>n)
{
for(int i=n;i<n;i++)
{
cin>>a[i];
}
perm(a,0,n-1);
}
return 0;
}
相关文章推荐
- 解析从源码分析常见的基于Array的数据结构动态扩容机制的详解
- C#数据结构揭秘一
- Java数据结构之简单链表的定义与实现方法示例
- qqwry.dat的数据结构图文解释第1/2页
- 对C语言中递归算法的深入解析
- c#汉诺塔的递归算法与解析
- 关于PHP递归算法和应用方法介绍
- Java递归算法的使用分析
- Java数据结构之双端链表原理与实现方法
- Huffman 编码压缩算法
- C 的反思穷究链表
- 数据结构&算法学习
- 第二话:数据结构的历史与来由
- 第一话:你的数据结构怎么学的?
- 鸟瞰数据结构的知识点全貌
- 数据结构的基本概念和术语
- 开发语言、开发工具、数据结构和算法的关系
- 排序算法总结
- CC数据结构学习.0
- PHP常用函数