vector二维数组与蛇形矩阵

    xiaoxiao2023-03-24  4

    最近在学习STL,感觉真的是好用,以前二维数组动态分配要自己写循环,还要注意释放内存。现在一个vector全解决。

    int n; cin >> n; vector<int> line(n); vector<vector <int>> matrix(n, line); int m, i, j, num, flag = 1; m = n*n + 1; i = 0; j = 0; for (num = 1; num <= m / 2; num++) //生成矩阵 { matrix[i][j] = num; matrix[n - i - 1][n - j - 1] = m - num; i = i - flag; j = j + flag; if (i < 0){ i = 0; flag = -flag; } if (j < 0){ j = 0; flag = -flag; } } //输出矩阵 for (auto l : matrix) { for (auto k : l) { cout << k<<"\t"; } cout << endl; } system("pause"); return 0;
    转载请注明原文地址: https://ju.6miu.com/read-1202851.html
    最新回复(0)