C++ 生成螺旋矩阵 - 算法实现及示例
#include
void generateMatrix(int n) {
vector<vector
while (rowStart <= rowEnd && colStart <= colEnd) {
// Fill top row
for (int i = colStart; i <= colEnd; i++) {
matrix[rowStart][i] = num++;
}
rowStart++;
// Fill right column
for (int i = rowStart; i <= rowEnd; i++) {
matrix[i][colEnd] = num++;
}
colEnd--;
// Fill bottom row
for (int i = colEnd; i >= colStart; i--) {
matrix[rowEnd][i] = num++;
}
rowEnd--;
// Fill left column
for (int i = rowEnd; i >= rowStart; i--) {
matrix[i][colStart] = num++;
}
colStart++;
}
// Print the matrix
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout << matrix[i][j] << ' ';
}
cout << endl;
}
}
int main() { int n; cin >> n; generateMatrix(n); return 0; }
原文地址: https://www.cveoy.top/t/topic/ql3P 著作权归作者所有。请勿转载和采集!