用AspJpeg组件,按宽高比例,真正生成缩略图

laifangsong's .NET blog

取长补短,精益求精。 (打个广告,想做手机网站和asp/asp.net网站的可以跟我联系.QQ:25313644)
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随机遍历数组,很巧妙的算法

Posted on 2006-09-05 09:07  laifangsong  阅读(2846)  评论(1编辑  收藏  举报

这块内容是在csdn论坛 的vb版碰巧看到的,觉的算法很巧妙,就记下来了。

<%

'随机遍历数组,很巧妙的算法

Dim i
Dim a(99), bound

bound 
= UBound(a)

For i = 0 To bound
    a(i) 
= i + 1
Next

Dim x
For i = bound To 0 Step -1
    x 
= CInt(Rnd*(i+1)) '记得这里 i要加上 1
    response.write a(x) & "<br>"
    
'每次都把随机取到的数组内的某个值,用一个循环由下标从低到高依次替换;
    '这时候,随机取到的值就在当前循环中被去除了,不可能再次被随机到。
    For j = x To i-1
        a(j) 
= a(j+1)
    
Next
Next


%
>

<%
'随机遍历数组的另一种方法,但是破坏了原数组结构

Dim i, a(99), bound

bound 
= UBound(a)

For i = 0 To bound
    a(i) 
= i + 1
Next

For i = bound To 0 Step -1
    
Dim x, temp

    x 
= CInt(Rnd * (i+1))
    response.write a(x) 
& "<br>"
    
    
'把随机到的那个跟当前循环中下标最大的那个交换
    temp = a(x)
    a(x) 
= a(i)
    a(i) 
= temp
Next


%
>