1.next_permutation生成全排列
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
int main(){
//数组元素全排列
int a[4] = {6,3,7,2};
sort(a,a+4);
for(int i = 0 ; i < 4 ; i++){
cout << a[i] << ' ';
}
cout << endl;
while(next_permutation(a,a+4)){
for(int i = 0 ; i < 4 ; i++){
cout << a[i] << ' ';
}
cout << endl;
}//这里用do-while改写更佳
//字符串全排列
string s = "cdfas";
sort(s.begin(),s.end());
cout << s << endl;
while(next_permutation(s.begin(),s.end())){
cout << s << endl;
}//这里用do-while改写更佳
return 0;
}
也可以用与next_permutation相反的perv_permutation
2.利用atoi与itoa将一个数字转化成任意进制
关于atoi与itoa的介绍在之前日志里有,这里直接做演示。
#include<cstdlib>
#include<cstdio>
int main()
{
int num = 233;
char str[100];
int n = atoi(itoa(num, str, 2));
printf("%d\n",n);
return 0;
}