怎么定义和释放特定类型的动态二维数组
如何定义和释放特定类型的动态二维数组?
比如说我要建立一个动态的图,其中的边(MyEdge类)就是一个动态的二位数组,
输入点数n之后,怎样建立和释放MyEdge类的二维动态数组呢?
------解决方案--------------------
cin> > n;
int* array1d = new int[n*n];
int** array = new int*[n];
for (int i = 0; i < n; i++)
array[i] = array1d + i * n;
...... // 现在array指针可以和一般二维数组一样使用
delete[] array;
delete[] array1d;
比如说我要建立一个动态的图,其中的边(MyEdge类)就是一个动态的二位数组,
输入点数n之后,怎样建立和释放MyEdge类的二维动态数组呢?
------解决方案--------------------
cin> > n;
int* array1d = new int[n*n];
int** array = new int*[n];
for (int i = 0; i < n; i++)
array[i] = array1d + i * n;
...... // 现在array指针可以和一般二维数组一样使用
delete[] array;
delete[] array1d;