设为首页 加入收藏

TOP

C语言编程构造拉丁方阵和正交拉丁方阵组(五)
2018-03-02 06:57:27 】 浏览:1426
Tags:语言编程 构造 拉丁 方阵 正交
}


                if (flag==0) // flag==1 则两占位矩阵列集合不相等,否则相等
                {
                    for (i=0; i<N; i++)          //两占位矩阵的列集合相等,相应的两拉丁方阵可以通过置换相互得到,故删除tail指向的拉丁方阵,占位矩阵和节点
                    {
                        free(tail->Pa[i]);
                        free(tail->Pb[i]);
                    }


                    free(tail->Pa);
                    free(tail->Pb);
                    pm->next=tail->next;  //让pm的指针域指向tail所指节点的后继节点
                    free(tail);    //删除tail所指节点


                    if (pm->next!=NULL)
                    {
                        tail=pm->next;  //tail指向被删节点的后继节点
                        goto loop;  //立即开始该后继节点和psnew指向的节点的比较
                    }
                    else
                    {
                        tail=pm;
                        if (psnew->next==NULL)
                            goto exit;      //所有比较删除工作均已完成,退出循环
                    }
                }
            }
        }
exit: ;


      if (head->next==NULL)  //没有基拉丁方阵,所以没有拉丁方阵
      {
          printf("不存在N阶拉丁方阵\n");
          printf("不存在N阶正交拉丁方阵组\n");
      }
      else
      {
          printf("所有N阶拉丁方阵为:\n");                           
          for (psnew=head->next; psnew!=NULL; psnew=psnew->next)  //输出所有拉丁方阵
          {
              output(psnew, fac, factor);
          }


          psnew=head->next;
          if (psnew->next==NULL)  //只有一个基拉丁方阵,所以不存在正交拉丁方阵组
              printf("不存在N阶正交拉丁方阵组\n");
          else
          {
              k=0;
     

首页 上一页 2 3 4 5 6 7 8 下一页 尾页 5/8/8
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C语言求解线性方程组 下一篇C语言重解经典回溯算法案例-迷宫..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目