zoukankan      html  css  js  c++  java
  • C++建立动态二维数组

    C++建立动态二维数组主要有两种方法:

    1.使用数组指针,分配一个指针数组,将其首地址保存在b中,然后再为指针数组的每个元素分配一个数组

                  
               int **b=new int*[row];       //分配一个指针数组,将其首地址保存在b中                                                    
               for(i=0;i<row;i++)             //为指针数组的每个元素分配一个数组
                   b[i]=new int[col];
              
            该方法定义的动态二维数组的释放需先释放指针数组的每个元素指向的数组,然后再释放该指针数组:
               for(i=0;i<row;i++)
               {
                     delete [col]b[i];
                     b[i]=NULL;
               }
               delete [row]b;
               b=NULL;
    int _tmain(int argc, _TCHAR* argv[])
    {
    	int row,column;
    	cin>>row>>column;
    
    	//方法一
    	//申请空间
    	int ** a = new int *[row];
    	for(int i = 0;i < row;i++)
    		a[i] = new int[column];
    
    	//使用空间
    	for(int j = 0;j < row;j++)
    		for(int k = 0;k< column;k++)
    			a[j][k] = rand()%100;
    
    	for(int j = 0;j < row;j++)
    	{
    		cout<<endl;
    		for(int k = 0;k< column;k++)
    		{
    			a[j][k] = rand()%100;
    			cout<<a[j][k]<<"     ";
    		}
    	}
    		
    	//释放空间
    	for(int i = 0;i < row;i++)
    	{
    		delete a[i];
    		a[i] = NULL;
    	}
    	delete [row]a;
    	a = NULL;	
    
    	return 0;
    	
    }
    运行结果:

    2.利用vector

    int _tmain(int argc, _TCHAR* argv[])
    {
    	int row,column;
    	cin>>row>>column;
    
    	//方法二
    	//申请空间
    	vector<vector<int> > a(row,vector<int>(column));
    	
    
    	//使用空间
    	for(int j = 0;j < row;j++)
    		for(int k = 0;k< column;k++)
    			a[j][k] = rand()%100;
    
    	for(int j = 0;j < row;j++)
    	{
    		cout<<endl;
    		for(int k = 0;k< column;k++)
    		{
    			a[j][k] = rand()%100;
    			cout<<a[j][k]<<"     ";
    		}
    	}		
    	
    	return 0;
    	
    }
    

    运行结果为:


  • 相关阅读:
    打开XX.etl文件
    ubuntu 安装 openssh-server,xinetd,vmware tools
    ESXi时间同步
    常用正则表达式字符说明
    RPC 服务器不可用
    linux 常用命令
    解决RDP连接不上
    python数据持久存储-pickle模块
    lambda表达式/对象引用计数
    关闭网络打开远程文件时防火墙安全弹窗
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3303854.html
Copyright © 2011-2022 走看看