C语言实现输入一个字符串后打印出该字符串中字符的所有排列

本文实例讲述了C语言实现输入一个字符串后打印出该字符串中字符的所有排列的方法,属于数学里的排列问题。是一个很实用的算法技巧。分享给大家供大家参考。具体实现方法如下:

例如输入字符串abc,则输出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。

C语言实现代码如下:

/*

* Copyright (c) 2011 alexingcool. All Rights Reserved.

*/

#include

#include

using namespace std;

char array[] = {'a', 'b', 'c'};

const int size = sizeof array / sizeof *array;

void Perm(char *array, int pos, int last)

{

if (pos == last) {

copy(array, array + size, ostream_iterator(cout, ""));

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, 2);

}

希望本文所述实例对大家C程序算法设计的学习有所帮助。相关阅读:

win7系统安全无损调整分区大小的详细教程

Android应用中使用ViewPager和ViewPager指示器来制作Tab标签

Win7电脑菜单中的图标拖不到桌面怎么办 两种解决方法

sql 截取域名的问题

Android学习小结之Activity保存和恢复状态

PHP查找与搜索数组元素方法总结

JavaScript对象之深度克隆介绍

php实现下载限制速度示例分享

java中break和continue源码解析

Oracle 11g服务器与客户端卸载、安装全过程

Win7精简版下安装针式打印机驱动程序的教程

JS实现跟随鼠标立体翻转图片的方法

Json_encode防止汉字转义成unicode的方法

详解Linux的SOCKET编程

php输入一个字符串 输出所有组合,C++_C语言实现输入一个字符串后打印出该字符串中字符的所有排列,本文实例讲述了C语言实现输入 - phpStudy...相关推荐

  1. php两个字符串公共,C++_C语言求两个字符串的最长公共子串,本文实例讲述了C语言求两个字 - phpStudy...

    C语言求两个字符串的最长公共子串 本文实例讲述了C语言求两个字符串的最长公共子串的方法.分享给大家供大家参考.具体实现方法如下: #include "stdio.h" #inclu ...

  2. php datatable导出excel,C#_C#实现将DataTable内容输出到Excel表格的方法,本文实例讲述了C#实现将DataTabl - phpStudy...

    C#实现将DataTable内容输出到Excel表格的方法 本文实例讲述了C#实现将DataTable内容输出到Excel表格的方法.分享给大家供大家参考.具体如下: 1.关于本文 本文描述了一个函数 ...

  3. c语言输入一段字符,C语言实现输入一个字符串后打印出该字符串中字符的所有排列...

    本文实例讲述了C语言实现输入一个字符串后打印出该字符串中字符的所有排列的方法,属于数学里的排列问题.是一个很实用的算法技巧.分享给大家供大家参考.具体实现方法如下: 例如输入字符串abc,则输出由字符 ...

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

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

  5. php 截取某个字符,PHP_php截取指定2个字符之间字符串的方法,本文实例讲述了php截取指定2个 - phpStudy...

    php截取指定2个字符之间字符串的方法 本文实例讲述了php截取指定2个字符之间字符串的方法.分享给大家供大家参考.具体如下: 在php中只要判断字符串1与字符串2之前的一个stripos位置然后再使 ...

  6. 绘制矩形php,PHP_php绘制一个矩形的方法,本文实例讲述了php绘制一个矩 - phpStudy...

    php绘制一个矩形的方法 本文实例讲述了php绘制一个矩形的方法.分享给大家供大家参考.具体实现方法如下: //1.创建画布 $im = imagecreatetruecolor(300,200);/ ...

  7. php画布怎么清除,JavaScript_JavaScript html5 canvas画布中删除一个块区域的方法,本文实例讲述了html5 canvas画布 - phpStudy...

    JavaScript html5 canvas画布中删除一个块区域的方法 本文实例讲述了html5 canvas画布中删除一个块区域的方法.分享给大家供大家参考,具体如下: 运行效果截图如下: 附:图 ...

  8. java生成随机6个数字和字母_java_Java生成含字母和数字的6位随机字符串,本文实例为大家分享了Java生成 - phpStudy...

    Java生成含字母和数字的6位随机字符串 本文实例为大家分享了Java生成6位随机字符串的实现代码,具体内容如下 package com.amos.tools; import java.util.Ar ...

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

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

  10. Python输入一个字符串,输出其中每个字符的出现次数。要求使用标准库collotections中的Counter类...

    一.题目: 1.输入一个字符串,输出其中每个字符的出现次数.要求使用标准库collotections中的Counter类. 2.输入一个字符串,输出其中只出现了一次的字符及其下标. 3.输入一个字符串 ...

最新文章

  1. 阅读量PHP设计,zblogPHP如何修改文章阅读量
  2. python语言中不用来定义函数的关键字_Python 语言中用来定义函数的关键字是
  3. centos安装mysql5.6系统崩溃_CentOS7安装MySQL5.6冲突总结
  4. Vue 计算属性 computed
  5. [最新]制作u盘引导安装ubuntu11.04
  6. AtCoder Regular Contest 088
  7. 【bzoj1976】[BeiJing2010组队]能量魔方 Cube 网络流最小割
  8. 我与腾讯战斗的那些岁月
  9. 分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(2月13日-2月19日)
  10. 软件工程 -- 开发模型
  11. 【丁丁历险记】ESP8266/ESP32做微信遥控语音识别
  12. 逆向-IDA工具的基本使用
  13. c语言开发ios应用程序,马上着手开发iOS应用程序:三、应用开发基础
  14. 亚马逊跨境电商开店注册流程之日本,澳洲,印度,中东,新加坡,巴西,土耳其
  15. bixby怎么编程_三星Galaxy S20:如何完全禁用Bixby
  16. 制作用于图像语义分割训练的标签数据【图像分割】【labelme】
  17. 解决eclipse中没有js代码提示的问题
  18. 电子设计数字钟,multisim仿真·
  19. 关于Oracle-HR表的查询
  20. 完整app - 收藏集 - 掘金

热门文章

  1. bzoj2339: [HNOI2011]卡农
  2. jquery各种事件使用方法总结(from:天宇之游)
  3. ES6-模块导入导出
  4. HeadFirst设计模式之命令模式
  5. JVM学习笔记 -- 从一段几乎所有人代码都会犯错的代码开始
  6. JavaScript表单编程
  7. 原生指针auto_ptr的用法
  8. 拓端tecdat|R语言Keras用RNN、双向RNNs递归神经网络、LSTM分析预测温度时间序列、 IMDB电影评分情感
  9. 拓端tecdat|python对网络图networkx进行社区检测和彩色绘图
  10. 线性回归中的梯度爆炸