隨機取陣列元素
dim xuan
xuan=openfile("xuan.txt")
xuan=split(xuan,"||")
function rndint(byval maxnum,byval minnum)'asp生成整數之間的隨機數函式
dim tmp
if maxnum
tmp=minnum:minnum=maxnum:maxnum=tmp
end if
randomize
rndint=int(rnd *(maxnum-minnum+1)+minnum)
end function
'arr:陣列
'num:要取的個數
function rndarray(arr,num)
if num<1 then rndarray="":exit function
dim nownum,idxs,values,arrubound
nownum=0'記錄取了多少個
idxs=""'記錄取到的下標,用,分隔開
values=""'記錄取到的陣列的值,用,分隔開
arrubound=ubound(arr)'陣列上限,隨機數最大值
while nownum
rndnum=rndint(0,arrubound)
if instr(idxs,","&rndnum&",")=0 then'未隨機到這個下標
nownum=nownum+1
if idxs="" then
idxs=","&rndnum&","
else
idxs=idxs&rndnum&","
end if
values=values&","&arr(rndnum)
end if
wend
rndarray=right(values,len(values)-1)
end function
打亂陣列元素:
place=instrrev(cmark,"|||")
cmark=left(cmark,place-1)
zcyshuzu=split(cmark,"|||")
shuzu0=lbound(zcyshuzu) '需要打亂陣列的下標
shuzu1=ubound(zcyshuzu) '需要打亂陣列的上標
if shuzu0=ubound(zcyshuzu) then shuzu0=lbound(zcyshuzu)
if shuzu1<=shuzu0 or shuzu0>ubound(zcyshuzu) then shuzu0=ubound(zcyshuzu)
for i=shuzu0 to shuzu1
luan_temp=zcyshuzu(i)
randomize timer
luan_num=shuzu0+int(rnd*(shuzu1-shuzu0))
zcyshuzu(i)=zcyshuzu(luan_num)
zcyshuzu(luan_num)=luan_temp
next
for i=lbound(zcyshuzu) to ubound(zcyshuzu)
response.write cstr(zcyshuzu(i))
next
JavaScript隨機打亂陣列
var arr 4,1,67,12,45,121,3 arr.sort function arr.sort function sort 是對陣列進行排序 他的是這樣工作的。每次從陣列裡面挑選兩個數 進行運算。如果傳入的引數是0 兩個數字置不變。如果引數小於0 就交換位置 如果引數大於0就不交換位置 ...
php怎麼打亂陣列隨機選取幾個陣列元素
方法 1 用shuffle 隨機打亂陣列 2 用array rand 隨機從陣列中獲取多個鍵名,返回乙個鍵名陣列 3 用foreach語句遍歷鍵名陣列,根據獲取到的鍵名從亂序陣列中取值,並賦值給乙個新陣列 4 遍歷結束後輸出新陣列即可。本教程操作環境 windows7系統 php7.1版 dell ...
LeetCode 打亂陣列
打亂乙個沒有重複元素的陣列。示例 以數字集合 1,2 和 3 初始化陣列。int nums solution solution new solution nums 打亂陣列 1,2,3 並返回結果。任何 1,2,3 的排列返回的概率應該相同。solution.shuffle 重設陣列到它的初始狀態 ...