指定された 2D 正方形 (n*n) 偶数サイズの配列で、開始コーナーからその中心までトラバースしたい。詳細については、以下の画像をご覧ください。
私のアルゴリズムは、隅から開始し、2 つのグローバル変数をcurrentX
andとして維持し、最後までcurrentY
実行して中心に到達することです。以下は私の擬似コードです-loop
currentX
currentY
x=0
y=0
currentX=0
currentY=0
while(currentX != centerX and currentY != centerY){
currentX=travel_in_x_plus_direction(x,n);
currenty=travel_in_y_plus_direction(y,n);
currentX=travel_in_x_minux_direction(currentX,x);
currentY=travel_in_y_minux_direction(currentY,y-1);
n--;
x--;
y--;
}
The function travel_in_x_plus_direction(currentX) traverse the array starting from currentX till x and returns the final value of x. The same concept applies for rest of the functions also.
これは正しい方法ですか?同じ方法でトラバースするより良い方法はありますか?