給定乙個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...