
且不管它是行是列,原理都一样,需要增加一辅助行或列,里面用随机函数 Rand()取值,然后按这个行或列排序,就行了。
=======
Sub bbb()
Dim a As Integer
Dim b As Integer
Dim c As Integer
a = WorksheetFunction.CountA(Range("a1:a32"))
c = 1
Do While c <= a
b = Int(Rnd * a) + 1
If Cells(b, 1).Value <>"" Then
Cells(b, 1).Select
Selection.Copy '此处改一下,原是剪切,改为复制。
Cells(c, 3).Select
ActiveSheet.Paste
c = c + 1
Else
End If
Loop
End Sub
#include<stdio.h>int main()
{
int xx=0
int a[8]={1,3,9,6,10,4,28,51}
int i,j,k,l,m,n,x,y
for(i=0i<8i++)
for(j=0j<8j++)
if(j!=i)
for(k=0k<8k++)
if((k!=i)&&(k!=j))
for(l=0l<8l++)
if((l!=i)&&(l!=j)&&(l!=k))
for(m=0m<8m++)
if((m!=i)&&(m!=j)&&(m!=k)&&(m!=l))
for(n=0n<8n++)
if((n!=i)&&(n!=j)&&(n!=k)&&(n!=l)&&(n!=m))
for(x=0x<8x++)
if((x!=i)&&(x!=j)&&(x!=k)&&(x!=l)&&(x!=m)&&(x!=n))
for(y=0y<8y++)
if((y!=i)&&(y!=j)&&(y!=k)&&(y!=l)&&(y!=m)&&(y!=n)&&(y!=x))
{
xx++
printf("%d %d %d %d %d %d %d %d\n",a[i],a[j],a[k],a[l],a[m],a[n],a[x],a[y])
}
printf("%d\n",xx)
}
方法其实很简单,多动脑多写
你看这样行不!经测试可以随机读取数据int n = 10
List<Integer>list1 = Arrays.asList(0,1,2,3,4,5,6,7,8,9)
List list2 = new ArrayList(){}
for (int j = 0j <list1.size()j++) {
list2.add(list1.get(j))
}
if (n >list2.size()) {
System.out.println("out of size")
} else {
for (int i = 0i <ni++) {
int num = (int)(Math.random()*list2.size())
System.out.println(list2.get(num))
list2.remove(num)
}
}
多次执行的结果不同
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)