[問題] random_shuffle的使用
遇到的問題: (題意請描述清楚)
Population[0]未做random_shuffle前,被random_shuffle了
希望得到的正確結果:
哪邊的寫法導致這問題
程式跑出來的錯誤結果:
無
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
vc++
有問題的code: (請善用置底文標色功能)
int PopulationNum = 10, GeneNum = 12;
int **Population = new int *[PopulationNum];
for(int i=0 ; i<PopulationNum ; i++)
Population[i] = new int[GeneNum];
int Chromosome[] = {1,6,100,2,5,200,3,4,300,7,8,9};
Population[0] = Chromosome;
for(int i=1 ; i<PopulationNum ; i++)
{
random_shuffle(&Chromosome[0],&Chromosome[GeneNum-1]);
for(int j=0 ; j<GeneNum ; j++)
{
Population[i][j] = Chromosome[j];
}
}
補充說明:
如果random_shuffle拿掉,
Population[0]就可以正常={1,6,100,2,5,200,3,4,300,7,8,9};
但是一放上去Population[0]就先做了random_shuffle
但是如果用for先把{1,6,100,2,5,200,3,4,300,7,8,9}給Population[0][...]
那就又正常~~~不知道差別在哪邊 感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 161.130.178.128
推
03/05 13:32, , 1F
03/05 13:32, 1F
→
03/05 13:32, , 2F
03/05 13:32, 2F
→
03/05 13:32, , 3F
03/05 13:32, 3F
→
03/05 14:08, , 4F
03/05 14:08, 4F
推
03/05 14:09, , 5F
03/05 14:09, 5F
→
03/05 14:43, , 6F
03/05 14:43, 6F
→
03/05 15:02, , 7F
03/05 15:02, 7F