牛骨文教育服务平台(让学习变的简单)
博文笔记

C++返回值是二维数组

创建时间:2017-06-15 投稿人: 浏览次数:825

最近打算自己用C++语言实现一下prim算法最小生成树的问题,虽然这是个老掉牙的算法,但是希望自己能突破自己,成功:

这是我遇到的第一个问题,数组的下标只能是常量,比如:


int a[5];//可以
const int i=1;
int b[i];//不可以

而我用的是输入值,更不行,百度真是个好东西,中国有时候人多也是挺好的,你的很多问题可能好多人已经解决了,废话不多说,说一下解决办法:

一维数组:

int *returnArry(int n)
{
int i;
cin>>i
int *a=(int *)malloc(i*sizeof(int)); 
for(int j=0;j<n;j++)
{
a[i]=i;
}
return a;
}

int main()
{
int *b=returnArry(2);
return 0;
}
二维数组可以说成是一维数组的数组:

int **returnArry(){
//申请动态内存 arr[][]已存在
	arry=(int**) malloc(N*sizeof(int*)) ;//重点
	cout<<"图的临街矩阵是:"<<endl;
	for (int i=0;i<N;i++)
	{
	arry[i]=(int*)malloc(N*sizeof(int));//重点
	for (int j=0;j<N;j++)
	{
	arry[i][j]=arr[i][j];
	cout<<arr[i][j]<<"  ";
	}
	cout<<endl;
	}
return arry
}
int main()
{
int **b=returnArry();
return 0;
}

没有把我的全部代码P上来,但是已经够用了,希望对你有帮助
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。