C++返回值是二维数组
最近打算自己用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上来,但是已经够用了,希望对你有帮助
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 二维数组作函数参数及返回值
- 下一篇: C#后台发送HTTP请求