怎么样把一个有序二维数组打乱?

来源:百度知道 编辑:UC知道 时间:2024/06/01 22:02:56
如一个二维数组static POINT picture[3][3];
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
picture[i][j].x = i*100 + 110;
picture[i][j].y = j*150 + 70;
}
}
怎么把它打乱,知道的说下,灌水的就不必了,理论上我懂就差代码,知道的写下代码.小弟感激不尽

可把二维数组看成是一个一维数组,如a[3][3]可以看成是 b[9],然后就是洗牌问题了,每次在0--8之间找出两个数i, j ,然后就交换 b[i] 和b[j] ,也就是a[i/3][i%3] 和b[j/3][j%3] 了,代码自己写吧,可以random产生 随机数

就是洗牌问题嘛~~
随便打乱啊~
为每个数分配个随机数,按随机数排序~