发帖秒收录的网站,wordpress安装环境,做网站教程,企业网络营销策略有哪些全排列算法
题目要求#xff1a;
输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按字母顺序输出。 总体的思想是固定前面的某些元素位#xff0c;比如1#x…全排列算法
题目要求
输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按字母顺序输出。 总体的思想是固定前面的某些元素位比如123全排列时先固定1排后面的23就有123132两种排列。让算法理解简化的一步是。将数组中的所有元素分别与第一个元素进行交换这样就总是排列后面的n-1个元素。 //递归算法
void Permu(int list[ ] , int n , int index)
{if(index n-1)printf(list);elsefor(int iindex;in;i){swap(list[i] , list[index]);Permu(list , n , index1 );swap(list[i] , list[index] );}
}
int main( )
{int list[ ] {1,2,3};Permu(list, 3, 0);return 0;
}
//----------------------------------------------