全排列的STL实现.docVIP

  • 2
  • 0
  • 约1.06千字
  • 约 4页
  • 2017-05-10 发布于河南
  • 举报
全排列的STL实现

全排列的STL实现 #includeiostream using namespace std; void permutation(char* a,int k,int m) { if(k == m) { for(int i=0;i=m;i++) couta[i]; coutendl; } else { for(int j=k;j=m;j++) { swap(a[j],a[k]); permutation(a,k+1,m); swap(a[j],a[k]); } } } int main() { char a[] = abc; permutation(a,0,2); return 0; } 有时候递归的效率使得我们不得不考虑除此之外的其他实现,很多把递归算法转换到非递归形式的算法是比较难的,这个时候我们不要忘记了标准模板库已经实现的那些算法,这让我们非常轻松。 STL有一个函数next_permutation(),它的作用是如果对于一个序列,存在按照字典排序后这个排列的下一个排列,那么就返回true且产生这个排列,否则返回fals

文档评论(0)

1亿VIP精品文档

相关文档