二維陣列回形遍歷 C

2021-10-10 07:06:18 字數 1163 閱讀 9321

給定乙個row行col列的整數陣列array,要求從array[0][0]元素開始,按回形從外向內順時針順序遍歷整個陣列。如圖所示:

輸入的第一行上有兩個整數,依次為row和col。

餘下有row行,每行包含col個整數,構成乙個二維整數陣列。

(注:輸入的row和col保證0按遍歷順序輸出每個整數。每個整數佔一行。

4 41 2 3 4

12 13 14 5

11 16 15 6

10 9 8 712

3456

78910

1112

1314

1516

具體的思路就是:

設定開始遍歷的行列、結束遍歷的行列,

用四條邊分別迴圈

迴圈邊界條件是遍歷數目為全部數目

有兩個易錯點:

1.最後乙個數字需要單獨處理

2.遍歷到最後一行或列時,如果不及時退出迴圈,會有雜項

如[1,2,3,4,5],遍歷完會再從右往左輸出一遍。

//2020-11-1

#include

using

namespace std;

intmain()

//回形讀取

int it =

0, jt =0;

int starti =

0, endi = row -

1, startj =

0, endj = col -1;

while

(count >0)

starti++

;while

(it < endi && count!=0)

//右邊列

endj--

;while

(jt > startj && count!=0)

//下面行

endi--

;while

(it > starti && count!=0)

//左邊列

startj++;if

(count ==1)

//最後乙個數字手動處理

}return0;

}

二維陣列回形遍歷

總時間限制 1000ms 記憶體限制 65536kb 描述 給定乙個row行col列的整數陣列array,要求從array 0 0 元素開始,按回形從外向內順時針順序遍歷整個陣列。如圖所示 輸入輸入的第一行上有兩個整數,依次為row和col。餘下有row行,每行包含col個整數,構成乙個二維整數陣列...

23 二維陣列回形遍歷

原題鏈結 總時間限制 1000ms 記憶體限制 65536kb 描述 給定乙個row行col列的整數陣列array,要求從array 0 0 元素開始,按回形從外向內順時針順序遍歷整個陣列。如圖所示 輸入輸入的第一行上有兩個整數,依次為row和col。餘下有row行,每行包含col個整數,構成乙個二...

java實現二維陣列回形輸出

對於二維陣列 1,2,3 4,5,6 7,8,9 紅色部分代表乙個回行,目標是輸出按照順時針方向,先輸出紅色的,再輸出黑色的。我的思路是 先輸出外圈,再輸出裡圈。每一圈,都有乙個開始和乙個結束,所以列印每一行的時候都需要給乙個開始的地方 startx,starty 和乙個結束的地方 endx,end...