冒泡排序随机值为1-100的数组

时间:2014-04-01 15:57:30

标签: java random bubble-sort

这是作业1.

现在我必须创建相同的东西,但使用1-100值的随机数组,我不知道如何实现我已经拥有的。

public class Test {

    public static void main(String a[]) {
    int i;



    int[] array = {9,1,5,8,7,2,1,5,5,6,8,15,3,9,19,18,88,10,1,100,4,8};
    System.out.println("Values Before the sort:\n");
    for (i = 0; i < array.length; i++)
        System.out.print(array[i] + "  ");
    System.out.println();
    bubble_srt(array, array.length);
    System.out.print("Values after the sort:\n");
    for (i = 0; i < array.length; i++)
        System.out.print(array[i] + "  ");
    System.out.println();



}

public static void bubble_srt(int a[], int n) {
    int i, j, t = 0;
    for (i = 0; i < n; i++) {
        for (j = 1; j < (n - i); j++) {
            if (a[j - 1] > a[j]) {
                t = a[j - 1];
                a[j - 1] = a[j];
                a[j] = t;
            }
        }
    }
}

3 个答案:

答案 0 :(得分:1)

您需要使用随机生成器来获取数字。 对于大小为X的数组,它将是这样的:

int[] array = new int[X];
Random random = new Random();

for (int i = 0; i < X; i++)
    array[i] = random.nextInt(100) + 1;

您应该查看Random的文档。

答案 1 :(得分:0)

public void generateRandom()
{
   int[] x = new int[100]; // This initializes an array of length 100
   Random rand = new Random();
   for(int i = 0; i < 100; i++)
   {
       x[i] = rand.nextInt(100); // Use the random class to generate random integers (and give boundaries)
   }
}

答案 2 :(得分:0)

我会回应吉姆在评论中所说的话。资源丰富是软件开发人员的一项重要技能。谷歌搜索很快会出现一篇有用的文章,如this one

您需要使用Random类来完成此任务。

Random randomGenerator = new Random();
int array = new int[100];
for (int idx = 0; idx < 100; ++idx){
  array[idx] = randomGenerator.nextInt(100) + 1;
}

注意 nextInt(int n)方法的用法:

它产生0(包括)和指定整数(不包括)之间的伪随机整数。这是将1添加到nextInt(100)输出的原因,因为它会根据需要将输出范围从0-99转移到1-100