c# 螺旋矩陣
static void Main(string[] args)
{
int i, j;
// int n=15;
int n=9;
int[,] matrix = new int[n,n]; //螺旋矩陣(二維陣列)
SetMatrix(matrix, 0, 0, 1, n);
//列印螺旋矩陣
for(i = 0; i < n; i++) {
for (j = 0; j < n; j++)
{
Console.Write("{0, 3}", matrix[i, j]);
//Console.Write(" ");
}
Console.WriteLine();
}
Console.Read();
}
private static void SetMatrix(int[,] matrix, int x, int y, int start, int n)
{
int i, j;
if (n < 0) { return; }
if (n == 1)
{
matrix[x,y] = start;
return;
}
for (i = y; i < y + n - 1; i++) /* 上部 */
matrix[x,i] = start++;
for (j = x; j < x + n - 1; j++) /* 右邊 */
matrix[j,y + n - 1] = start++;
for (i = y + n - 1; i > y; i--) /* 底部 */
matrix[x + n - 1,i] = start++;
for (j = x + n - 1; j > x; j--) /* 左邊 */
matrix[j,y] = start++;
SetMatrix(matrix, x + 1, y + 1, start, n - 2); /* 遞迴 */
}
{
int i, j;
// int n=15;
int n=9;
int[,] matrix = new int[n,n]; //螺旋矩陣(二維陣列)
SetMatrix(matrix, 0, 0, 1, n);
//列印螺旋矩陣
for(i = 0; i < n; i++) {
for (j = 0; j < n; j++)
{
Console.Write("{0, 3}", matrix[i, j]);
//Console.Write(" ");
}
Console.WriteLine();
}
Console.Read();
}
private static void SetMatrix(int[,] matrix, int x, int y, int start, int n)
{
int i, j;
if (n < 0) { return; }
if (n == 1)
{
matrix[x,y] = start;
return;
}
for (i = y; i < y + n - 1; i++) /* 上部 */
matrix[x,i] = start++;
for (j = x; j < x + n - 1; j++) /* 右邊 */
matrix[j,y + n - 1] = start++;
for (i = y + n - 1; i > y; i--) /* 底部 */
matrix[x + n - 1,i] = start++;
for (j = x + n - 1; j > x; j--) /* 左邊 */
matrix[j,y] = start++;
SetMatrix(matrix, x + 1, y + 1, start, n - 2); /* 遞迴 */
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7899089/viewspace-732993/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 螺旋矩陣矩陣
- 生成螺旋矩陣(方陣、矩陣)矩陣
- 54. 螺旋矩陣矩陣
- leetcode:螺旋矩陣LeetCode矩陣
- 力扣-54. 螺旋矩陣力扣矩陣
- [Leetcode]59.螺旋矩陣ⅡLeetCode矩陣
- 6.5陣列--模擬、偏移量-螺旋矩陣陣列矩陣
- 演算法學習之路|螺旋矩陣演算法矩陣
- C語言實現矩陣螺旋輸出C語言矩陣
- 【程式碼隨想錄】一、陣列:5.螺旋矩陣陣列矩陣
- Q14 LeetCode59 螺旋矩陣LeetCode矩陣
- 富有敗筆的B1050 螺旋矩陣 (25分)矩陣
- LeetCode 59. 螺旋矩陣 II(python、c++)LeetCode矩陣PythonC++
- 資料結構與演算法---螺旋矩陣、整數反轉資料結構演算法矩陣
- LeetCodeHot100 73. 矩陣置零 54. 螺旋矩陣 48. 旋轉影像 240. 搜尋二維矩陣 IILeetCode矩陣
- 【leetcode】每日精選題詳解之59. 螺旋矩陣 IILeetCode矩陣
- 977.有序陣列的平方 ,209.長度最小的子陣列 ,59.螺旋矩陣II陣列矩陣
- 鄰接矩陣、度矩陣矩陣
- 巨大的矩陣(矩陣加速)矩陣
- 奇異矩陣,非奇異矩陣,偽逆矩陣矩陣
- 程式碼隨想錄演算法訓練營第二天 | 陣列 59.螺旋矩陣演算法陣列矩陣
- 矩陣矩陣
- 資料結構:陣列,稀疏矩陣,矩陣的壓縮。應用:矩陣的轉置,矩陣相乘資料結構陣列矩陣
- 3D圖形:矩陣的行列式,矩陣的逆、正交矩陣、齊次矩陣3D矩陣
- 矩陣中最大的二維矩陣矩陣
- 求任意矩陣的伴隨矩陣矩陣
- Day2| 977.有序陣列的平方 ,209.長度最小的子陣列 ,59.螺旋矩陣II陣列矩陣
- Day2 |977.有序陣列的平方& 209.長度最小的子陣列&59.螺旋矩陣II陣列矩陣
- 機器學習中的矩陣向量求導(五) 矩陣對矩陣的求導機器學習矩陣求導
- 矩陣和陣列矩陣陣列
- 理解矩陣矩陣
- 矩陣相乘矩陣
- 矩陣分解矩陣
- 稀疏矩陣矩陣
- Numpy 矩陣矩陣
- 穿越矩陣矩陣
- 混淆矩陣矩陣
- 魔方矩陣矩陣