java中怎么实现数组随机排序?谢谢
展开全部
import java.util.*;
/*
* 生成不重复随机数的一种算法。
*/
public class Test
{
public static void main(String[] args)
{
// 要排序的一组数字
int[] seed = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int len=seed.length;
int[] result= new int[len];
Random random = new Random();
for (int i = 0; i < len; i++)
{
// 得到一个位置
int r = random.nextInt(len - i);
// 得到那个位置的数值
result[i] = seed[r];
// 将最后一个未用的数字放到这里
seed[r] = seed[len - 1 - i];
}
System.out.println("result:" + Arrays.toString(result));
}
}
/*
* 生成不重复随机数的一种算法。
*/
public class Test
{
public static void main(String[] args)
{
// 要排序的一组数字
int[] seed = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int len=seed.length;
int[] result= new int[len];
Random random = new Random();
for (int i = 0; i < len; i++)
{
// 得到一个位置
int r = random.nextInt(len - i);
// 得到那个位置的数值
result[i] = seed[r];
// 将最后一个未用的数字放到这里
seed[r] = seed[len - 1 - i];
}
System.out.println("result:" + Arrays.toString(result));
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
import java.lang.Math;
import java.util.Scanner;
class AarrayReverse
{
public static void main(String args[])
{
int a[]=new int[20];
for(int i=0;i<=15;i++)
{
Scanner sca=new Scanner(System.in);
System.out.println("请输数组元素a["+"]");
a[i]=sca.nextInt();
}
for(int i=0;i<=100;i++)
{
int middle=(int)(a.length/2*Math.random());
int radius=(int)(middle*Math.random());
int t;
t=a[middle-radius+1];
a[middle-radius+1]=a[middle+radius+3];
a[middle+radius+3]=t;
}
for(int i=0;i<a.length;i++)
System.out.print(a[i]+" ");
System.out.println();
}
}
当然这里的数组可以自己定义.
循环的次数越多越好..
import java.util.Scanner;
class AarrayReverse
{
public static void main(String args[])
{
int a[]=new int[20];
for(int i=0;i<=15;i++)
{
Scanner sca=new Scanner(System.in);
System.out.println("请输数组元素a["+"]");
a[i]=sca.nextInt();
}
for(int i=0;i<=100;i++)
{
int middle=(int)(a.length/2*Math.random());
int radius=(int)(middle*Math.random());
int t;
t=a[middle-radius+1];
a[middle-radius+1]=a[middle+radius+3];
a[middle+radius+3]=t;
}
for(int i=0;i<a.length;i++)
System.out.print(a[i]+" ");
System.out.println();
}
}
当然这里的数组可以自己定义.
循环的次数越多越好..
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class Insertinosort {
public static void main(String[] args)
{
int data[]= new int[50];
System.out.print("原始数据:");
for(int i=0;i<50;i++)
{
data[i]=(int)(Math.random()*1000+1);
System.out.print(data[i]+" ");
}
System.out.println();
for(int x=1;x<data.length;x++)
for (int y = x; y > 0; y--)
{
if(data[y]<data[y-1])
{
int temp;
temp=data[y-1];
data[y-1]=data[y];
data[y]=temp;
}
}
System.out.print("排序数据:");
for(int i=0;i<data.length;i++)
{
System.out.print(data[i]+" ");
}
}
}
public static void main(String[] args)
{
int data[]= new int[50];
System.out.print("原始数据:");
for(int i=0;i<50;i++)
{
data[i]=(int)(Math.random()*1000+1);
System.out.print(data[i]+" ");
}
System.out.println();
for(int x=1;x<data.length;x++)
for (int y = x; y > 0; y--)
{
if(data[y]<data[y-1])
{
int temp;
temp=data[y-1];
data[y-1]=data[y];
data[y]=temp;
}
}
System.out.print("排序数据:");
for(int i=0;i<data.length;i++)
{
System.out.print(data[i]+" ");
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |