我需要为表示三角矩阵的非常大的数组分配内存。我写了以下代码:
const int max_number_of_particles=20000;
float **dis_vec;
dis_vec = new float **[max_number_of_particles];
for (i = 0; i<max_number_of_particles; i++)
dis_vec[i] = new float *[i];
for (i = 0; i<max_number_of_particles; i++)
for (j = 0; j<i; j++)
dis_vec[i][j] = new float[2];
问题是执行它(分配内存)所需的时间随着矩阵大小的增加而迅速增加。有谁知道这个问题的更好解决方案?
谢谢。