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;
    	
    }
    

    运行结果为:


  • 相关阅读:
    小码哥IOS大神班11期 大神班
    最近整理的一些前端面试题
    emm, flutter来了, 对比下 RN?
    爱Pia戏服务协议
    linux cent下redis安装、密码设置、开机启动服务
    mysqld 不定时挂掉,使用定时任务cron检测到挂掉后自动重启mysql
    《结对-结对编项目作业名称-需求分析》
    结对编程
    课堂作业第0周
    App Distribution Guide (二)
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3303854.html
Copyright © 2011-2022 走看看