第一种优点 M[i][j];
第二种 必须 A[ i*col+j]=M[i][j];
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main(int agrn, char **agrv)
{
int row, col;
int i,j;
row=5000, col=1000;
clock_t start, finish;
start=clock();
int **M;
M=new int*[row];
for ( i=0; i<row; i++)
{
M[i]=new int[col];
}
for ( i=0; i<row; i++)
{
for ( j=0; j<col; j++)
{
M[i][j]=i*j;
}
}
finish=clock();
cout<<finish-start<<endl;
delete[] M;
start=clock();
int *A=new int[row*col];
for ( i=0; i<row; i++)
{
for ( j=0; j<col; j++)
{
A[i*col+j]=i*j;
}
}
cout<<finish-start<<endl;
delete[] A;
cout<<"Over"<<endl;
getchar();
return EXIT_SUCCESS;
}
我run的是 后一个快.