C/C++ 大规模矩阵的两种构造方法的比较

第一种优点 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的是 后一个快.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值