日复一日

厚积薄发|跳跃的人生

  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  25 随笔 :: 2 文章 :: 6 评论 :: 0 Trackbacks
输出一个字符串所有组合。注意有重复字符。

 1char[] p;
 2void perm(char s[], int i, int n){
 3 int j;
 4 char temp;
 5 for(j=0;j<n;++j){
 6  if(j!=0 && s[j]==s[j-1]);
 7  elseif(s[j]!='@'){
 8   p[i]=s[j];
 9   s[j]='@';
10   if(i==n-1){
11    d[n]='\0';
12    printf("%s", d);
13   }
else{
14    perm(str,i+1,n);
15   }

16   s[j]=p[i];
17  }

18 }

19}
1void main() {
2  char s[N];
3  sort(s);
4  perm(s,0,strlen(s));
5}

6
posted on 2006-06-16 20:28 GwQ 阅读(119) 评论(0)  编辑 收藏 引用 所属分类: 微软面试技术题
只有注册用户登录后才能发表评论。