2010-08-16 18 views
0

我不知道,如果當他們寫1如果是這樣的陣列中的第一或第二元件:這個僞代碼是否假設一個基於零的索引?

function DouglasPeucker(PointList[], epsilon) 
//Find the point with the maximum distance 
dmax = 0 
index = 0 
for i = 2 to (length(PointList) - 1) 
    d = OrthogonalDistance(PointList[i], Line(PointList[1], PointList[end])) 
    if d > dmax 
    index = i 
    dmax = d 
    end 
end 

//If max distance is greater than epsilon, recursively simplify 
if dmax >= epsilon 
    //Recursive call 
    recResults1[] = DouglasPeucker(PointList[1...index], epsilon) 
    recResults2[] = DouglasPeucker(PointList[index...end], epsilon) 

    // Build the result list 
    ResultList[] = {recResults1[1...end-1] recResults2[1...end]} 
else 
    ResultList[] = {PointList[1], PointList[end]} 
end 

//Return the result 
return ResultList[] 
end 

例如,我在C執行本++這樣的地方說,對於i = 2,我應該爲int i = 1嗎?

由於

回答

2

在猜測,它看起來像索引1是陣列(否則所述第一元件被從未被任何位置索引)中的第一個元素。最好的方式來確定可能是嘗試它:)

+0

好的,謝謝:)。 – jmasterx 2010-08-16 18:09:59

1

它是1索引。注意行:

recResults1[] = DouglasPeucker(PointList[1...index], epsilon) 

還有:

ResultList[] = {recResults1[1...end-1] recResults2[1...end]} 

從列表的開頭兩個訪問。

相關問題