隨機取陣列,打亂陣列元素

2021-06-27 20:48:52 字數 1642 閱讀 6018

隨機取陣列元素

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 重設陣列到它的初始狀態 ...