c++ 算法
//b[0]0 [1]0 [1]1 [2]0 [2]1 [2]2……[6]6……[7]0……[7]7 [8]0……[8]8 判断魔方 [8]9 012345678
// [7]8 [8]0……[8]7 判断魔方 [8]8 [8]9 012345687 // [6]7……[7]0……[7]6 [8]8 012345768 // 012345786 // 012345867 …… // 876543210 {
for(k = 0;k < c;k++) //是否与前面数字重复,如有重复元素跳出,否则使K下标等于C下标
if(b_val[k] == b_val[c]) break;
if(k == c)//如果没有重复元素,就可以确定当前元素值,并继续排列下一个下标的数组元素 {
if(c+1 < m) //1 2 3……7 8 如果不满足条件,则生成了一组排列方式,否则继续排列下一个元素 // 8 {
++c; //1 2 3……7 8 // 8
b_val[c] = -1; // continue; }
else //生成了一组排列方式 { k = -1;
for(i = 0;i < n;i++) {
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库c++算法大全(12)在线全文阅读。
相关推荐: