拉丁方阵
拉丁方阵是一种 n × n 的方阵,
在这种 n x n 的方阵里,有 n 种不同的元素,每一种不同的元素在同一行或同一列里只出现一次。
实现原理
通过生成的拉丁方阵,观察横排元素,发现第一排从第一个元素开始输出,第二排从第二个元素进行输出,依次类推,可以看到拉丁方阵是一个将链表循环的过程,故可以利用循环链表的方式将拉丁矩阵进行生成。在遍历完一次之后将指针移动至下一个元素用来下一行元素的输出。
void PrintLatin(Node* head, int n/*矩阵大小*/)
{
Node* pCur = head;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
cout << pCur->data << "\t";
pCur = pCur->next;
}
cout << endl << endl;
pCur = pCur->next;
}
}