一、双指针方法 双指针就是指像指针的指针,比如你可以这样声明一个数组和释放一个数组的空间: //双指针声明二维动态数组 int **arr = new int*[x]; //理解双指针的含义,指针的指针->数组的指针->二维数组 for(int i=0; i < x; ++i) arr[i] = new int[y]; //可以理解为在一个一维数组的某一个位上再开辟一个数组,也就形成二维数组 //用delete释放空间 for(int m=0;m < x; m++) delete[] p[m]; delete[] p; 二、STL vector 声明方法如下: //用vector 声明一个m*n的数组 vector<vector<int> > vecArr(m,vector<int>(n)); //注意 > >之间要有空格,不然会误判为>>操作符 for(int i = 0;i < m;i++) for(j = 0;j < n;j++) vecArr[i][j] = i*j; //声明一个i*j*k的三维数组 vector<vector<vector<int> > > vecAnt(m,vector<vector<int> >(n, vector<int>(l))); for(int i = 0;i < m;i++) for(int j = 0;j < n;j++) for(k = 0;k < l;k++) vecInt[i][j][k] = i+j+k;