【笔试】得到一个序列的全排列

原创 2016年08月28日 18:36:01

怎么得到一个数列的全排列

#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <iterator>
using namespace std;
int main()
{
string str;
vector<string>strVec;
int n;
while(cin >> n)
{
for(int i =0; i < n;i++)
{
cin>>str;
strVec.push_back(str);
}
sort(strVec.begin(), strVec.end());
//cout << str << endl;
int icount = 0;
while (next_permutation(strVec.begin(), strVec.end()))
{
copy(strVec.begin(),strVec.end(),ostream_iterator<string>(cout," "));
cout<<endl;
icount++;
}

cout<<icount<<endl;
strVec.clear();
}
system("pause");
return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

生成一个序列的全排列

之前写过全排列的程序,昨天做poj 1731的时候又遇到了。发现自己以前把各个方法基本都试过了 。 这里总结一下下面几种方法: 方法一:把全排列转换为树的遍历,可以使用深度优先遍历,也可以使用广度...

分治法实现一个全排列.doc

  • 2014年03月27日 18:51
  • 63KB
  • 下载

【百度笔试】熊熊全排列

/********************************************************************************************* 度度熊最...
  • chrdww
  • chrdww
  • 2017年05月04日 20:16
  • 129

算法:康托展开式——实现全排列序列与序号的映射

康托展开式实现了由1到n组成的全排列序列到其编号之间的一种映射,下面会给出例子,虽然这个公式应用不是很多,但这种思想值得学习,首先给出其公式: X=an*(n-1)!+an-1*(n-2)!+...+...

1223: 求某一整数序列的全排列问题

题目Description现有一整数序列如:123,请计算出它的全排列。Input输入数据有两行组成,第一行为整数序列的长度,第二行为整数序列,序列元素之间以Tab符相隔。 Output输出数据为整数...

递归算法:求序列的全排列

用C++模板书写一段序列数组的全部排列 /** * 书本:【windows程序设计】 * 功能:输出全部的排列情况 * 文件:全排列.cpp * 时间:2014年9月29日21:52:55 ...

【Good Bye 2014B】【Floyd or 并查集】New Year Permutation 全排列有位置交换序列 使得字典序尽可能小

New Year Permutation time limit per test 2 seconds memory limit per test 256 megabytes ...

生成全排列---reflect包的一个应用

生成全排列---一个reflect包的应用 在测试函数时,经常需要生成一个全排列,确保函数可以正确处理所有的输入情况,Go语言的特性以及reflect包的存在,使得在Go语言中实现这样的功能非常容易。...

每天一个算法: 全排列算法

全排列算法:给出一个有n个元素的集合,求出这个集合所有可能的排列。 一、 递归的方法void permutation(char *arr, int k , int m){ if(k ==...

求一个数组的全排列,所有组合

如123,有123,132,312,321,213,231,6种组合 $source = array('我','的','中','国','心'); sort($source); //保证初始数组...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【笔试】得到一个序列的全排列
举报原因:
原因补充:

(最多只允许输入30个字)