博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

程序员面试100题之二十八,字符串的排列

Posted on 2010-09-24 17:09  KurtWang  阅读(177)  评论(0)    收藏  举报
#include "stdafx.h"

void permutation(char * str, char * begin)
{
	if(!str || !begin)
		return;

	if(*begin == '\0')
		printf("%s\n",str);
	else
	{
		for(char * cur = begin; *cur != '\0'; cur++)
		{
			char temp = *cur;
			*cur = *begin;
			*begin = temp;

			permutation(str, begin+1);

			temp = *cur;
			*cur = *begin;
			*begin = temp;

		}
	}
}

int _tmain(int argc, _TCHAR* argv[])
{
	char str[] = "abc";
	permutation(str,str);
	return 0;
}