C++ STL中的一个可以方便的生成全排列的算法:
#include <algorithm>
bool next_permutation( iterator start, iterator end );
使用举例:
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main()
{
string str;
cin >> str;
sort(str.begin(), str.end());//必须进行这一步才可以
cout << str << endl;
while (next_permutation(str.begin(), str.end()))
cout << str << endl;
return 0;
}
qsort(数组名,数组长度,数组中每个元素大小,compare); compare函数的写法决定了排序是升序还是降序。需要#include<stdlib.h> 例如: int compare(const void*a,const void*b){return *(*int)a-*(int*)b;} 示例:qsort(a,10,sizeof(int),compare) //假设已定义了整型数组a[10] 升序排序的写法,如果是:return *(*int)b-*(int*)a 就是降序,不论是什么类型的数组,该函数的形式都是这样的 sort(数组名,数组末地址,compare) //若不写compare则默认升序排列,需要#include<algorithm> 例如: sort(a,a+10); //将数组a以升序排序,假设先前定义了a[10]并输入了数据摘自百度知道……