zoukankan      html  css  js  c++  java
  • 字符串的全排列

    [ 伪代码描述 ]

    void Permutation(需要处理的字符串, 需要进行处理的字符串的起始位置)
    {
    	if(扫描完成整个字符串)
    		输出当前字符串;
    
    	for(对即将处理的字符串中的每个字符)
    	{
    		将当前的字符提前到第一个位置;
    		求除了第一个字符外,后面所有字符的全排列;
    		将提前到第一个位置的字符恢复到未提前之前的位置,以便不影响下次的处理;
    	}
    
    }
    

    [ C++实现 ]

    template <typename T>  
    void CalcAllPermutation(T perm[], int first, int num)  
    {  
        if (num <= 1)
            return;  
          
        for (int i = first; i < first + num; ++i) 
        {  
            swap(perm[i], perm[first]);  
            CalcAllPermutation(perm, first + 1, num - 1);  
            swap(perm[i], perm[first]);  
        }  
    } 
    
  • 相关阅读:
    MyBatis总结(一)
    MyBatis简介
    数据持久化与ORM
    主流框架介绍
    JSP数据交互(一)
    tomcat端口被占用
    动态网页开发基础
    jQuery内容
    正则表达式
    初始Mybatis
  • 原文地址:https://www.cnblogs.com/zhyantao/p/11230432.html
Copyright © 2011-2022 走看看