Транспонировать одномерный массив

Итак, у меня есть ОДНОмерный массив с N значениями, где N - полный квадрат. Я визуализирую этот одномерный массив как двумерный массив (хотя это не так). Например, массив со значениями int Array = {0,1,2,3,4,5,6,7,8}

То есть

int *Array = new int [9];                                                                                                                                                                                                    
for ( int i = 0 ; i < 9 ; i ++ )
         Array[i] = i; // For example

Это печатается как

0 1 2
3 4 5 
6 7 8

Итак, я хотите поменять местами позицию в одномерном массиве так, чтобы я получил его транспонирование, ...

Например ...

0 3 6
1 4 7
2 5 8

Это в основном тот же одномерный массив, но значения меняются местами так что массив теперь int Array = {0,3,6,1,4,7,2,5,8}

Если бы я масштабировал его до массива размером 1024 * 1024, какова будет логика?

8
задан Legolas 2 October 2011 в 21:14
поделиться