关闭

字符串的全排列

标签: c
476人阅读 评论(0) 收藏 举报

int g_iCountTypes;

Enumerate(LPSTR lpSource, const int iCount, int iStart)
{
  if (iStart > (iCount - 2))
  {
    return -1;
  }

  for(int i = iStart; i < iCount; i++)
  {
    Swap(lpSource[iStart], lpSource[i]);

    if (iStart == (iCount - 2))
    {
      printf("%s/n",lpSource);
      g_iCountTypes;
    }
    else
    {
      AllTypes(lpSource, iCount, iStart + 1);
    }

    Swap(lpSource[iStart], lpSource[i]);
  }

  return 0;
}

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
  g_iCountTypes = 0;

  char a[6]={'a','b','c','d','e'};
  a[5] = 0;
  int iCount = 5;
  int iStart = 0;
  Enumerate(a, iCount, iStart);

  printf("排列结果总数:%d/n", g_iCountTypes);

  return 0;
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:13019次
    • 积分:242
    • 等级:
    • 排名:千里之外
    • 原创:11篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    最新评论