如何交换数组元素以将数组从列状转换为类似行的表示形式

Chr*_*mer 3 c++ arrays algorithm

例如:数组

a1, a2, a3, b1, b2, b3, c1, c2, c3, d1, d2, d3
Run Code Online (Sandbox Code Playgroud)

代表下表

a1, b1, c1, d1
a2, b2, c2, d2
a3, b3, c3, d3
Run Code Online (Sandbox Code Playgroud)

现在我想把阵列带到下面的表格中

a1, b1, c1, d1, a2, b2, c2, d2, a3, b3, c3, d3
Run Code Online (Sandbox Code Playgroud)

是否存在算法,它将数组(来自第一种形式)和表的维度作为输入参数并将数组转换为第二种形式?我认为一个算法不需要分配额外的内存,相反我认为应该可以通过元素交换操作来完成这项工作.

zil*_*n01 7

您正在寻找的术语是就地矩阵转置,这是一个实现.