CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

初学者请教一下:有关排列组合的问题

楼主zjhzylp()2005-04-03 17:00:57 在 C/C++ / C语言 提问

我在网上找到一个排列组合的算法,有些不明白的地方想请教一下。算法如下:  
  从n个元素中同时取r个元素的排列,记做P(n,r)。(当r=n时,我们称P(n,n)=n!为全排列)例如我们有集合OR   =   {1,2,3,4},那么n   =   |OR|   =   4,切规定r=3,那么P(4,3)就是:    
  {1,2,3};   {1,2,4};   {1,3,2};   {1,3,4};{1,4,2};{1,4,3};{2,1,3};{2,1,4};   {2,3,1};   {2,3,4};   {2,4,1};   {2,4,3};   {3,1,2};   {3,1,4};   {3,2,1};   {3,2,4};   {3,4,1};   {3,4,2};   {4,1,2};   {4,1,3};   {4,2,1};   {4,2,3};   {4,3,1};   {4,3,2}    
  算法如下:    
  int   n,   r;    
  char   used[MaxN];    
  int   p[MaxN];    
  void   permute(int   pos)    
  {   int   i;    
  /*如果已是第r个元素了,则可打印r个元素的排列   */    
  if   (pos==r)   {    
  for   (i=0;   i   cout   <<   (p[i]+1);    
  cout   <<   endl;    
  return;    
  }    
  for   (i=0;   i   if   (!used[i])   {   /*如果第i个元素未用过*/    
  used[i]++;             /*使用第i个元素,作上已用标记,目的是使以后该元素不可用*/    
  p[pos]   =   i;           /*保存当前搜索到的第i个元素*/    
  permute(pos+1);   /*递归搜索*/    
  used[i]--;             /*恢复递归前的值,目的是使以后改元素可用*/    
  }    
  }    
   
  我想问一下:算法一开始定义used[]为字符型,那used[i]++该怎么解释啊 问题点数:10、回复次数:4Top

1 楼junguo(junguo)回复于 2005-04-03 17:19:10 得分 3

字符型的加法,其实和数字型的也一样。  
   
  因为Ascii码其实也是按数字表示的:如a,b,c,d等都是用数字表示的,a++后就等于b。Top

2 楼zjhzylp()回复于 2005-04-04 07:54:31 得分 0

那(!used[i])   该怎么解释啊Top

3 楼pcboyxhy(-273.15℃)回复于 2005-04-04 08:23:05 得分 7

used[i]++;             //这里可以改为   used[i]=1;  
  used[i]--;             //这里可以改为   used[i]=0;Top

4 楼pcboyxhy(-273.15℃)回复于 2005-04-04 08:24:07 得分 0

if(!used[i])   //如果i没有标记为用过的,就可以用iTop

相关问题

  • 请教有关有关数学中排列组合的问题
  • 排列组合?
  • 排列组合问
  • 排列组合题
  • 只组合不排列
  • 排列组合的问题
  • 排列组合的问题.
  • 求排列组合算法
  • 排列组合的问题
  • 求排列组合代码

关键词

  • 排列
  • 算法
  • 元素

得分解答快速导航

  • 帖主:zjhzylp
  • junguo
  • pcboyxhy

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo