???? jeccy (燕飛月天) 于 2006年10月28日21:37:09 星期六 提到:
我的理解,給定2維數組
1 2 3三角形判斷
8 9 4
7 6 5
“螺旋式”順序輸出:1 2 3 4 5 6 7 8 9
【 在 bluexyz (數據結構是根本) 的大作中提到: 】
?
private
?
static
?
void
?PrintNumberasSpiralOrder()

????????
{
????????????
//
1??2??3???4
????????????
//
12?13?14??5
????????????
//
11?16?15??6
????????????
//
10?9???8??7
????????????
????????????
//
1,??2?,?3,??4,??5
????????????
//
16,?17,?18,?19,?6
????????????
//
15,?24,?25,?20,?7
????????????
//
14,?23,?22,?21,?8
????????????
//
13,?12,?11,?10,?9
????????????
int
[,]?a?
=
?
new
?
int
[,]

????????????
{?
{?
1
,?
2
,?
3
,?
4
,?
5
?}
,?

????????????
{?
16
,?
17
,?
18
,?
19
,?
6
?}
,?

????????????
{?
15
,?
24
,?
25
,?
20
,?
7
?}
,

????????????
{?
14
,?
23
,?
22
,?
21
,?
8
?}
,

????????????
{?
13
,?
12
,?
11
,?
10
,?
9
?}
?}
;
????????????
//
int[,]?a?=?new?int[,]?{?{?1,?2,?3,?4?},?{?12,?13,?14,?5?},?{?11,?16,?15,?6?},?{?10,?9,?8,?7?}?};
????????????
//
int[,]?a?=?new?int[,]?{?{?1,?2?},?{4,3}?};
????????????
const
?
int
?N?
=
?
5
;
????????????
//
?spiral
????????????
for
?(
int
?i?
=
?N?
-
?
1
,?j?
=
?
0
;?i?
>
?
0
;?i
--
,?j
++
)

????????????
{
????????????????
//
i?從最大維度數開始
????????????????
//
j?從最小維度數開始
????????????????
//
i--來縮小范圍
????????????????
//
j++來縮小范圍
????????????????
//
k?增長縮小因子
????????????????
for
?(
int
?k?
=
?j;?k?
<
?i;?k
++
)
????????????????????System.Console.Write(
"
{0}?
"
,?a[j,?k]);?Console.WriteLine(
""
);
????????????????
for
?(
int
?k?
=
?j;?k?
<
?i;?k
++
)
????????????????????System.Console.Write(
"
{0}?
"
,?a[k,?i]);?Console.WriteLine(
""
);
????????????????
for
?(
int
?k?
=
?i;?k?
>
?j;?k
--
)
????????????????????System.Console.Write(
"
{0}?
"
,?a[i,?k]);?Console.WriteLine(
""
);
????????????????
for
?(
int
?k?
=
?i;?k?
>
?j;?k
--
)
????????????????????System.Console.Write(
"
{0}?
"
,?a[k,?j]);?Console.WriteLine(
""
);
????????????}
????????????
//
?special?case?for?middle?element?if?N?is?odd
????????????
//
如果是奇數,則要條印中間的數。
????????????
if
?(N?
%
?
2
?
==
?
1
)?System.Console.Write(a[(N?
-
?
1
)?
/
?
2
,?(N?
-
?
1
)?
/
?
2
]);
????????}
Reference :
http://bigtiger2005.spaces.live.com/blog/cns!4e967c6fe38e7c14!141.entry?wa=wsignin1.0