我想用C++
时间: 2024-02-11 12:08:03 浏览: 27
好的,以下是使用 C++ 实现按照顺时针顺序遍历二维数组的代码示例:
```cpp
#include <iostream>
#include <vector>
using namespace std;
vector<int> spiralOrder(vector<vector<int>>& matrix) {
vector<int> res;
if (matrix.empty() || matrix[0].empty()) {
return res;
}
int m = matrix.size(), n = matrix[0].size();
int r1 = 0, r2 = m - 1, c1 = 0, c2 = n - 1;
while (r1 <= r2 && c1 <= c2) {
// Traverse upper edge
for (int c = c1; c <= c2; ++c) {
res.push_back(matrix[r1][c]);
}
// Traverse right edge
for (int r = r1 + 1; r <= r2; ++r) {
res.push_back(matrix[r][c2]);
}
// Traverse bottom edge
if (r1 < r2 && c1 < c2) {
for (int c = c2 - 1; c > c1; --c) {
res.push_back(matrix[r2][c]);
}
// Traverse left edge
for (int r = r2; r > r1; --r) {
res.push_back(matrix[r][c1]);
}
}
++r1;
--r2;
++c1;
--c2;
}
return res;
}
int main() {
vector<vector<int>> matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
vector<int> res = spiralOrder(matrix);
for (int i = 0; i < res.size(); ++i) {
cout << res[i] << " ";
}
cout << endl;
return 0;
}
```
以上代码的时间复杂度和空间复杂度与前面提到的 Python 代码相同。如果有任何疑问,请随时询问。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)