Re: Reverse() was: Win32Lib Update

new topic     » goto parent     » topic index » view thread      » older message » newer message

My attemp:

function reverse(object data)
    object aux
    integer midway
    if sequence(data) then
        midway = floor(length(data) / 2)
        if midway != (length(data) / 2) then
            for index = 1 to midway do
                aux = reverse(data[index])
                data[index] = reverse(data[(midway*2) - index + 2])
                data[(midway*2) - index + 2] = aux
            end for
            data[midway+1] = reverse(data[midway+1])
        else
            for index = 1 to midway do
                aux = reverse(data[index])
                data[index] = reverse(data[(midway*2) - index + 1])
                data[(midway*2) - index + 1] = aux
            end for
        end if
    end if
    return data
end function

I'm no speed demon, but I belive this routine is fairly fast and most
important... it's generic and flexible.

Regards,
    Daniel   Berstein
    daber at pair.com

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu