在VC中如何创建多维动态数组

创建一维动态数组

  1. #include <iostream.h>
  2. main()
  3. {
  4.     int n1;
  5.     const int DIM1 = 2;
  6.     // 构造数组
  7.     int *ppi = new int[DIM1];
  8.     // 填充数据
  9.     for(n1 = 0; n1 < DIM1; n1++)
  10.     {
  11.         ppi[n1] = n1 ;
  12.     }
  13.     // 输出
  14.     for(n1 = 0; n1 < DIM1; n1++)
  15.     {
  16.         cout << "ppi[" << n1 << "]" 
  17.         << ppi[n1] << "/n";
  18.     }
  19.     // 释放数组
  20.     delete [] ppi;
  21.     return 0;
  22. }
创建二维动态数组

  1. #include<iostream.h> 
  2. main() 
  3. {
  4.     int n1, n2;
  5.     const int DIM1 = 2;
  6.     const int DIM2 = 3;
  7.     // 构造数组
  8.     int **ppi = new int*[DIM1];
  9.     for(n1 = 0; n1 < DIM1; n1++)
  10.     {
  11.         ppi[n1] = new int[DIM2];
  12.     }
  13.     // 填充数据
  14.     for(n1 = 0; n1 < DIM1; n1++)
  15.     {
  16.         for(n2 = 0; n2 < DIM2; n2++)
  17.         {
  18.             ppi[n1][n2] = 11;
  19.         }
  20.     }
  21.     // 输出
  22.     for(n1 = 0; n1 < DIM1; n1++)
  23.     {
  24.         for(n2 = 0; n2 < DIM2; n2++)
  25.         {
  26.             cout << "ppi[" << n1 << "][" << n2 << "] = " 
  27.             << ppi[n1][n2] << "/n";
  28.         }
  29.     }// 释放数组
  30.     for(int n = 0; n1 < DIM1; n1++)
  31.     {
  32.         delete []ppi[n1];
  33.     }
  34.     delete []ppi;
  35.     return 0; 
  36. }
创建三维动态数组

  1. #include<iostream.h>
  2. main()
  3. {
  4.     int n1, n2, n3;
  5.     const int DIM1 = 2;
  6.     const int DIM2 = 3;
  7.     const int DIM3 = 4;
  8.     // 构造数组
  9.     int ***ppi = new int**[DIM1];
  10.     for(n1 = 0; n1 < DIM1; n1++)
  11.     {
  12.         ppi[n1] = new int*[DIM2];
  13.         for(n2 = 0; n2 < DIM2; n2++)
  14.         {
  15.             ppi[n1][n2] = new int[DIM3];
  16.         }
  17.     }
  18.     // 填充数据
  19.     for(n1 = 0; n1 < DIM1; n1++)
  20.     {
  21.         for(n2 = 0; n2 < DIM2; n2++)
  22.         {
  23.             for(n3 = 0; n3 < DIM3; n3++)
  24.             {
  25.                  ppi[n1][n2][n3] = n1 * 100 + n2 * 10 + n3;
  26.             }
  27.         }
  28.     }
  29.     // 输出
  30.     for(n1 = 0; n1 < DIM1; n1++)
  31.     {
  32.         for(n2 = 0; n2 < DIM2; n2++)
  33.         {
  34.             for(n3 = 0; n3 < DIM3; n3++)
  35.             {
  36.                 cout << "ppi[" << n1 << "][" << n2 << "][" << n3 << "] = "
  37.                 << ppi[n1][n2][n3] << "/n";
  38.             }
  39.         }
  40.     }
  41.     // 释放数组
  42.     for(n1 = 0; n1 < DIM1; n1++)
  43.     {
  44.         for(n2 = 0; n2 < DIM2; n2++)
  45.         {
  46.         delete [] ppi[n1][n2];
  47.         }
  48.         delete [] ppi[n1];
  49.     }
  50.     delete [] ppi;
  51. }

在程序中,动态数组可以很有效的节省存储空间



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值