当前位置: 首页 > 新闻动态 > 软件编程

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

作者:用户投稿 浏览: 发布日期:2026-01-16
[导读]:这篇文章主要介绍了C语言实现输入一个字符串后打印出该字符串中字符的所有排列的方法,是数学中非常实用的排列算法,需要的朋友可以参考下

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

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

C语言实现代码如下:

/* 
* Copyright (c) 2011 alexingcool. All Rights Reserved. 
*/ 
#include <iostream>
#include <algorithm>

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<char>(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程序算法设计的学习有所帮助。

免责声明:转载请注明出处:http://m.jing-feng.com.cn/news/372356.html

扫一扫高效沟通

多一份参考总有益处

免费领取网站策划SEO优化策划方案

请填写下方表单,我们会尽快与您联系
感谢您的咨询,我们会尽快给您回复!