난 이차원 동적 배열을 정의 배열 arrays.Dimensions 메모리를 할당 서로 (256 * 256)와 동일하다 :는 C의 이차원 동적 배열 알고리즘 ++의 기간을 단축
double **I1,**I2;
int M=256;
int N=256;
int i,j;
I1= new double *[M+1];
for(i=1;i<=M;i++)
{I1[i]=new double [N+1];}
I2= new double *[M+1];
for(i=1;i<=M;i++)
{I2[i]=new double [N+1];}
그럼, 배열의 값 요소를 할당했습니다. 이러한 배열에서 수학적 알고리즘을 실행해야합니다. 많은 for 루프를 사용했습니다. 그리고 코드가 매우 느리게 작동했습니다.
I가 I1에서 I2 빼기 다른 I3 이차원 배열 빼기 배열 asssigned 경우,이 코드 사용 예:
double **I3;
double temp;
//allocate I3;
I3= new double *[M+1];
for(i=1;i<=M;i++)
{I3[i]=new double [N+1];}
//I3=I1-I2
for(i=1;i<=M;i++){
for(j=1;j<=N;j++){
temp=I1[i][j]-I2[i][j];
I3[i][j]=temp;}
}
어떻게 수 I 루프를 사용하지 않고, C++ 짧은 실행 시간? 다른 방법을 알려주시겠습니까? 중요한 순서대로
베스트 감사합니다 ..
+1 단일 배열을 할당합니다. 'new'에 대한 모든 호출은 아마도 사소한 루프가 아니라 문제의 근원 일 것입니다. – strager