C++实现二维数组蛇形遍历的代码
时间: 2024-02-11 22:05:33 浏览: 105
蛇形矩阵 C++ 源代码
以下是C++实现二维数组蛇形遍历的代码:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n = 6;
vector<vector<int>> nums(n, vector<int>(n, 0));
int count = 1;
int row = 0, col = 0;
int rowBound = n - 1, colBound = n - 1;
while (count <= n * n) {
// 从左往右遍历
for (int i = col; i <= colBound; i++) {
nums[row][i] = count++;
}
// 从上往下遍历
for (int i = row + 1; i <= rowBound; i++) {
nums[i][colBound] = count++;
}
// 从右往左遍历
for (int i = colBound - 1; i >= col; i--) {
nums[rowBound][i] = count++;
}
// 从下往上遍历
for (int i = rowBound - 1; i >= row + 1; i--) {
nums[i][col] = count++;
}
row++;
col++;
rowBound--;
colBound--;
}
// 输出遍历结果
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout << nums[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
在遍历过程中,我们先定义四个变量:row、col、rowBound和colBound,分别表示当前遍历的行、列、行边界和列边界。初始值都为0,边界值为n-1。然后按照从左往右、从上往下、从右往左、从下往上的顺序依次遍历数组中的元素,并更新遍历的边界和计数器count的值。最后输出遍历的结果。
阅读全文