输入字符串,要求打印出所有字符排列的可能性
2013-10-28 11:59
302 查看
#include <iostream>
#include <algorithm>
#include<vector>
using namespace std;
char array[] = {'a', 'b', 'c','d'};
const int size = sizeof array / sizeof *array;
int n=0;
void Perm(char *array, int pos, int last)
{
if (pos == last) {
copy(array, array + size, ostream_iterator<char>(cout, ""));
//it means that output the array by ostream_iterator
cout << endl;
}
else {
for(int i = pos; i <= last; i++)
{
swap(array[i], array[pos]);
Perm(array, pos + 1, last);
swap(array[i], array[pos]);
}
}
}
void main()
{
Perm(array, 0, size-1);
}
/*int main ()
{
int myints[]={10,20,30,40,50,60,70};
vector<int> myvector;
myvector.resize(7);
//将数值复制到vector里,参数依次是开始、结束,vector数组的开始
copy (myints, myints+7, myvector.begin() );
cout << "myvector contains:\n";
//将数值复制到输出流中,参数依次是开始、结束,输出流
copy(myvector.begin(), myvector.end(), ostream_iterator<int>(cout, " "));
cout << endl;
return 0;
}
#include <vector>
#include <iostream>
#include <iterator>
using namespace std;
int main()
{
vector<int> v;//define a vector whose type is "vector<int>"
v.push_back(1);//
v.push_back(2);
ostream_iterator<int> output(cout," ");//
copy(v.begin(),v.end(),output);
return 0;
}*/
#include <algorithm>
#include<vector>
using namespace std;
char array[] = {'a', 'b', 'c','d'};
const int size = sizeof array / sizeof *array;
int n=0;
void Perm(char *array, int pos, int last)
{
if (pos == last) {
copy(array, array + size, ostream_iterator<char>(cout, ""));
//it means that output the array by ostream_iterator
cout << endl;
}
else {
for(int i = pos; i <= last; i++)
{
swap(array[i], array[pos]);
Perm(array, pos + 1, last);
swap(array[i], array[pos]);
}
}
}
void main()
{
Perm(array, 0, size-1);
}
/*int main ()
{
int myints[]={10,20,30,40,50,60,70};
vector<int> myvector;
myvector.resize(7);
//将数值复制到vector里,参数依次是开始、结束,vector数组的开始
copy (myints, myints+7, myvector.begin() );
cout << "myvector contains:\n";
//将数值复制到输出流中,参数依次是开始、结束,输出流
copy(myvector.begin(), myvector.end(), ostream_iterator<int>(cout, " "));
cout << endl;
return 0;
}
#include <vector>
#include <iostream>
#include <iterator>
using namespace std;
int main()
{
vector<int> v;//define a vector whose type is "vector<int>"
v.push_back(1);//
v.push_back(2);
ostream_iterator<int> output(cout," ");//
copy(v.begin(),v.end(),output);
return 0;
}*/
相关文章推荐
- 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。
- 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。C++
- 输入一个字符串,打印出该字符串中字符的所有排列
- java 输入一个字符串,打印出该字符串中字符的所有排列
- 《牛客网剑指offer27题》输入一个字符串,按字典序打印出该字符串中字符的所有排列
- java 输入一个字符串,打印出该字符串中字符的所有排列
- C语言实现输入一个字符串后打印出该字符串中字符的所有排列
- 输入一个字符串,打印出该字符串中字符的所有排列。
- java输入一个字符串,打印出该字符串中字符的所有排列,随机打乱排序
- 输入一个字符串,打印出该字符串中字符的所有排列
- java 输入一个字符串,打印出该字符串中字符的所有排列
- 题目:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则输出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。
- 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。
- 从键盘输入一个由字母构成的字符串(不大于30个字符),要求从该串中取出3个不重复的字符,求所有不同的取法。如果字符串中没有取到3个不同的字符,则提示没有结果。对取出的字符要求按字母升序排列成串,对于不
- 输入一个字符串,打印出该字符串中字符的所有排列
- 输入一个字符串,打印出该字符串中字符的所有排列。
- 写正确函数需要注意的地方:输入一个字符串,打印出该字符串中字符的所有排列
- 输入一个字符串,打印出该字符串中字符的所有排列
- 输入一个字符串,要求输出字符串中字符所有的排列,例如输入"abc",得到"abc","acb","bca","bac","cab","cba"
- 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。