说我有多维数组是这样的:旋转阵列顺时针
int arr[3][3] = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
我想阵列顺时针旋转,所以它看起来是这样的:
{{7, 4, 1},
{8, 5, 2},
{9, 6, 3}};
我试图交换各自的值依次与之前的值:
swap(&arr[0][0],&arr[0][1]);
swap(&arr[0][1],&arr[0][2]);
swap(&arr[0][2],&arr[1][2]);
swap(&arr[1][2],&arr[2][2]);
swap(&arr[2][2],&arr[2][1]);
swap(&arr[2][1],&arr[2][0]);
swap(&arr[2][0],&arr[1][0]);
swap(&arr[1][0],&arr[0][0]);
这没有正确旋转。它留下了一些值,并将其他人放在错误的地方。
我在做什么错,我该如何做到这一点?
@DavidBowling固定。 – DEADBEEF
类似[问题](https://stackoverflow.com/questions/40832947/array-rotation-in-c/) – BLUEPIXY
什么是'swap'?你应该显示你的代码,并且最好发布一个[MCVE](http://stackoverflow.com/help/mcve) –