看板java
標 題請問要怎樣化簡這段code...
發信站無名小站 (Thu Mar 2 22:01:39 2006)
轉信站ptt!ctu-reader!ctu-gate!ctu-peer!news.nctu!netnews.csie.nctu!wretch
我是要用來檢查一個點是否被上下左右包住...
以下的x和y的值都有點大(最少有1024 最大大約是到10240)...
我這樣做等於是土法煉鋼...所以執行起來真的很慢...
原則上四個迴圈的結構相同...所以我在想可能可以合併...
讓執行一次時可以不跑這麼多次好讓效率上升...
我現在是想到用一個雙層的迴圈...
但是卻想不到怎樣去控制變數讓它同時往(x,y)的上下左右去檢查...
想請位各位有沒有一些方法可以讓他效率更好...謝謝大家<(_ _)>
for(int i = x;i>=0;i--)
if(xy[i][y]==1)
{
test++;
break;
}
for(int i =x;i<width;i++)
if(xy[i][y]==1)
{
test++;
break;
}
for(int i =y;i>=0;i--)
if(xy[x][i]==1)
{
test++;
break;
}
for(int i =y;i<height;i++)
if(xy[x][i]==1)
{
test++;
break;
}
--
夫兵者不祥之器物或惡之故有道者不處君子居則貴左用兵則貴右兵者不祥之器非君子
之器不得已而用之恬淡為上勝而不美而美之者是樂殺人夫樂殺人者則不可得志於天下
矣吉事尚左凶事尚右偏將軍居左上將軍居右言以喪禮處之殺人之眾以哀悲泣之戰勝以
喪禮處之道常無名樸雖小天下莫能臣侯王若能守之萬物將自賓天地相合以降甘露民莫
之令而自均始制有名名亦既有夫亦將知止知止59-126-172-31.HINET-IP.hinet.net海