//打印一个字符串的所有排列。
void printSequence(char* pChara)

 int i = 0;
 static int MAX_LEN = strlen(pChara);
 if (pChara[0] == '\0')
 {
  for (int i = 0; i < MAX_LEN; i ++)
  {
   printf("%c", pChara[i + 1]);
  }
  printf("\n", ""); 
 }

char* tempChar = pChara;
 while (*tempChar != '\0' )
 {
  char* pMyString = new char[MAX_LEN + 1];
  memcpy(pMyString, pChara, MAX_LEN + 1);
  memcpy(pMyString + i, pMyString + i + 1, MAX_LEN - i);
  pMyString[MAX_LEN] = *tempChar;
  printSequence(pMyString);
  tempChar ++;
  i ++;
  delete[] pMyString;
 }
}

打印一个字符串的所有排列。相关推荐

  1. 算法-打印一个字符串的全部子序列,包括空字符串

    题目:打印一个字符串的全部子序列,包括空字符串 假如该字符串为"abc"则用画图的方式穷举所有可能 代码如下: public class PrintAllSubsquences { ...

  2. 7-20 判断两个字符串是否为变位词 (10 分)如果一个字符串是 另一个字符串的重新排列组合,那么这两个字符串互为变位词。比如,”heart”与”earth”互为变位 词,”Mary”与”arMy

    7-20 判断两个字符串是否为变位词 (10 分) 如果一个字符串是 另一个字符串的重新排列组合,那么这两个字符串互为变位词.比如,"heart"与"earth" ...

  3. R7-如果一个字符串是 另一个字符串的重新排列组合,那么这两个字符串互为变位词。比如,”heart”与”earth”互为变位 词,”Mary”与”arMy”也互为变位词。输入格式:第一行输入第一个字符

    如果一个字符串是 另一个字符串的重新排列组合,那么这两个字符串互为变位词.比如,"heart"与"earth"互为变位 词,"Mary"与& ...

  4. 暴力递归——打印一个字符串的全部子序列

    打印一个字符串的全部子序列 我们先来看看字符串的子串和子序列有什么区别? 字符串的子串:必须是连续的一段 字符串的子序列:可以不连续,但是相对次序不能乱(每个字符 要跟不要 所有的路都走一遍)--深度 ...

  5. 打印一个字符串的全部子序列,包括空字符串

    package class_08;import java.util.ArrayList; import java.util.List; /*** * 打印一个字符串的全部子序列,包括空字符串**/ p ...

  6. 【20190405】算法-输入一个字符串,按字典序打印出该字符串中字符的所有排列

    方法一:利用递归 利用递归求全排列的过程真的很难理解,先把代码贴上来吧 function Permutation(str) {// write code hereif(!str){return str ...

  7. 打印给定字符串中字符的所有排列

    题目: 输入一个字符串,打印出该字符串中字符的所有排列.例如输入字符串abc,则输出由字符a.b.c所能排列出来的所有字符串abc.acb.bac.bca.cab和cba. 解决: 简单起见,字符串中 ...

  8. 求得到一个字符串@“absdfasdfsdfdsafsd....”所有的排列

    //得到一个字符串@"absdfasdfsdfdsafsd...."所有的排列 length!/((相同项)!*(相同项)!)-(int )numberOfstring:(NSSt ...

  9. C语言打印字符串的所有排列组合(附完整源码)

    C语言打印字符串的所有排列组合 字符串的所有排列问题 C语言打印字符串的所有排列组合的完整源码(定义,实现,main函数测试) 字符串的所有排列问题 示例:ABC的排列是ABC,ACB,BCA,BAC ...

最新文章

  1. pip install scipy和matplotlib报错的问题详解:(pip install其它时报错通用)
  2. 关于MYSQL 字符转义问题总结
  3. MATLAB生成正态样本以及正态矩阵、从文件读入矩阵
  4. Linux下修改命令提示符
  5. corpus  academic writing
  6. I+关系网络分析发布,提供完整的可视化分析和关系引擎功能
  7. linux部署redis集群遇到的问题
  8. 信息学奥赛一本通(2034:【例5.1】反序输出)
  9. where和having区别
  10. Competitive Programming专题题解(1)
  11. numpy - np.reshape:将二维数组转变三维数组
  12. 36. Valid Sudoku/37. Sudoku Solver - 数独问题-- backtracking 经典
  13. 英语音标原来这么丰富,换个角度把欧洲语言作为一个体系
  14. C# 简单的ZEBRA标签打印程序
  15. 远程工具teamviewer使用教程
  16. 记录mysql查询过去十二个月中每个月的数据情况(含本月)
  17. Android native层Hander原理分析
  18. JavaScript插件编写
  19. vue—实现组织架构图(vue-org-tree插件)——技能提升
  20. Nginx sendfile作用

热门文章

  1. oracle11中过程continue,Oracle 11g OCM备考之创建EM与EM登陆异常的处理
  2. python做马里奥_python实现超级马里奥
  3. java 从mysql 导出到excel_JAVA实现在数据库导出到EXCEL并下载
  4. linux集群-keepalived介绍-用keepalived配置高可用集群
  5. jstack和线程dump分析
  6. Java多线程相关知识
  7. runtime objc_msgSend
  8. 多浏览器 div 半透明
  9. 如何修改路由器和交换机的密码
  10. 田志刚:智慧的员工,个人知识管理