#include"iostream"#include"vector"usingnamespace std;
vector<int> a;voidadd(const vector< vector<int>>& m){int row = m.size();int col = m[0].size();int left =0,top =0, right = col -1,bottom = row -1;while(left <= right && top <= bottom){//第一行for(int i = left ; i <=right ; i++){
a.push_back(m[top][i]);}//最右边for(int j = top +1; j <= bottom ; j++){
a.push_back(m[j][right]);}if(left != right && top != bottom){//最下边for(int i = right -1; i >= left ; i--){
a.push_back(m[right][i]);}//最左边for(int j = bottom -1; j > top ; j--){
a.push_back(m[j][left]);}}
left ++; top ++; right --; bottom --;}}voidPrint(const vector<int>&maze){for(int m =0; m < maze.size(); m++){
cout << maze[m]<<" ";}}intmain(){int i =0, j =0;
vector< vector<int>>maze(3, vector<int>(3,0));int A[3][3]={{1,2,3},{4,5,6},{7,8,9}};int m, n;for(m =0; m < maze.size(); m++){for(n =0; n < maze[m].size(); n++){
maze[m][n]= A[m][n];
cout << maze[m][n]<<" ";}
cout <<"\n";}add(maze);Print(a);return0;}