{求助}在ASP中如何对产生的50个随机数排序??{求助}

风云化龙 2006-07-31 03:09:47
在ASP中如何对产生的50个随机数排序??

像下面产生了50个随机数:
randomize
dim w(50)
for i=1 to 50
w(i)=rnd()
response.write w(i)
next

但输出的结果很乱,如何对这50个随机数进行排序?(使它按从大到小或从小到大的顺序输出)

谢谢了??

对了,这50个随机数在有些时候会不会出来相同的?
...全文
177 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
pzhuyy 2006-11-09
  • 打赏
  • 举报
回复
冒泡法
lz不会这都不知道吧.
超级大笨狼 2006-11-09
  • 打赏
  • 举报
回复
<SCRIPT LANGUAGE=vbscript >
'洗牌
Dim N,S,D,P
P=54'牌的数量
Set D = CreateObject("Scripting.Dictionary")
do while D.Count<P
Randomize
N=Int(P * Rnd + 1)
if not D.Exists(cstr(N)) then
D.Add cstr(N),cstr(N)
end if
loop
for each K in D.Keys
S=S & K & " "
next
msgbox replace(trim(S)," ",",")
</SCRIPT>

access
select top 5 * from [table] order by rnd(id)

sql server
select top 5 * from [table] order by newid()
aspgreener 2006-08-01
  • 打赏
  • 举报
回复
呵呵!冒泡排序就是这样的啊!
FIREGUNS 2006-07-31
  • 打赏
  • 举报
回复
楼上的,循环多了点吧..
aspgreener 2006-07-31
  • 打赏
  • 举报
回复
完整的例子如下:
<%
Function SortArray(ByRef arr)
Dim tmp,i,j

For i = 0 to Ubound(arr)
For j=i to Ubound(arr)
If (arr(i)<arr(j)) Then
tmp = arr(i)
arr(i) = arr(j)
arr(j)= tmp
End If
Next
Next

SortArray = arr
End Function

Dim arr
arr = "1,5,8,2,9,4,7,6"
arr = Split(arr,",")
Response.Write("<br>Sort Before:")
For i= 0 to Ubound(arr)
Response.Write(arr(i)&",")
Next

arr = SortArrayarr)

Response.Write("<br>Sort After:")
For i= 0 to Ubound(arr)
Response.Write(arr(i)&",")
Next
%>
aspgreener 2006-07-31
  • 打赏
  • 举报
回复
只要你传递一个数组进去就可以倒叙排列了。
aspgreener 2006-07-31
  • 打赏
  • 举报
回复
Function SortArray(ByRef arr)
Dim tmp,i,j

For i = 0 to Ubound(arr)
For j=i to Ubound(arr)
If (arr(i)<arr(j)) Then
tmp = arr(i)
arr(i) = arr(j)
arr(j)= tmp
End If
Next
Next

SortArray = arr
End Function
aking8736 2006-07-31
  • 打赏
  • 举报
回复
排序
for i=0 to ubound(w)
for j=ubound(w)-1 to i -1
if(w(j)>w(j-1)) then
str=w(j)
w(j)=w(j-1)
w(j-1)=str
end if
next
next

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧