您的位置:首页 > 运维架构

输入字符串,要求打印出所有字符排列的可能性

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;

}*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  copy
相关文章推荐