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

    运行结果为:


  • 相关阅读:
    关于request对象的parameter和attribute
    EL表达式知识点总结
    隐藏基于Dialog的MFC的主窗体
    VLD 无法打印堆栈调用情况
    javascript对象属性的命名规则
    javascript中boolean类型和其他类型的转换
    javascript中对象访问自身属性的方式
    java与C++相比增加和缺少的特性--持续更新
    java基础算法(一):最大子序列和问题的多种算法思路
    Jconsole或者VisualVM监控远程主机(阿里云,jdk11或者8)
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3303854.html
Copyright © 2011-2022 走看看