获取不重复一维数组的所有排列组合,效率要高


已知一个一维数组,数组内元素具有唯一性,求所有的该一维数组的排列组合数组

编码 算法

s惊蛰小满s 12 years, 7 months ago

抛砖引玉,数组如果是字典序有序,用现成的算法,效率、内存占用都比较理想,采用的算法可以去看源码,如果不是字典序有序,先排一次序也成啊 -_-!

   
  int array[] = {1,2,3,4,5,6};
  
const int count = sizeof(array) / sizeof(int);
while (next_permutation(array, array+count )){
copy(array, array+count, ostream_iterator<int>(cout, " "));
cout << endl;
}

测试代码

s155336 answered 12 years, 7 months ago

Your Answer