建立动态二维数组的函数

void create2Darray(T **&x,int row,int col)
{

	//建立一个一维数组,用于保存每行的首指针 
	x = new T *[row];

	//为每一行的首指针分配col列数据
	for(int i=0;i<row;i++)
		x[i] = new T [col]; 
}


释放动态二维数组的函数

void delete2Darray(T **&x,int row)
{
	//通过每行的首指针释放每行的数据
	for(int i=0;i<row;i++)
		delete [] x[i];
	
	//释放用于指向每行的首指针
	delete [] x; 
}

一个示例程序:

#include<iostream>
using namespace std;
template <class T>
void create2Darray(T **&x,int row,int col)
{

	//建立一个一维数组,用于保存每行的首指针 
	x = new T *[row];

	//为每一行的首指针分配col列数据
	for(int i=0;i<row;i++)
		x[i] = new T [col]; 
}
template <class T>
void delete2Darray(T **&x,int row)
{
	//通过每行的首指针释放每行的数据
	for(int i=0;i<row;i++)
		delete [] x[i];
	
	//释放用于指向每行的首指针
	delete [] x; 
}
int main()
{
	char ** a;
	int row,col;
	cin>>row>>col;
	create2Darray(a,row,col);
	for(int i=0;i<row;i++)
	{
		for(int j=0;j<col;j++)
			cin>>a[i][j];
	}
	for(int i=0;i<row;i++)
	{
		for(int j=0;j<col;j++)
			cout<<a[i][j]<<" ";
		cout<<endl;
	}
	delete2Darray(a,row);
	return 0;
} 

示例数据:

3 4
q w e r
a s d f
z x c v
q w e r
a s d f
z x c v

相关文章:

  • 2022-12-23
  • 2021-11-25
  • 2021-11-01
  • 2021-09-26
  • 2021-07-24
  • 2022-12-23
  • 2021-09-23
  • 2022-12-23
猜你喜欢
  • 2021-11-20
  • 2021-11-14
  • 2022-12-23
  • 2021-10-26
  • 2021-08-10
  • 2022-12-23
相关资源
相似解决方案