算法排序(一)——生成随机数组

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/A1344714150/article/details/88635720

由于博主最近想去面试了,需要重新复习下算法与数据结构,这里简单的整理下。

目标:生成并返回一个含有n个整型元素,数值范围为left~right的数组;

在这里自定义个SortUtil作为一个排序工具类

实现过程:传入参数n,Left,Right。先声明一个数组大小为n的整型数组,循环将数组元素赋值为(int) (Math.random()*(Right-Left)+Left),其中Math.Random()*(Right-Left)可以生成由0到Right-Left的数值,在此基础上加上Left值,最后进行强转,这样就的到了一个随机数值范围为Left~Right的数值;

代码实现:

//排序工具类(默认从小到大排序)
public class SortUtil {

	//返回元素个数为n,数值范围是Left~Right(不包含Right)的随机数组
	public static int[] getRandomArrayData(int n,int Left,int Right){
		int[] array = new int[n];
		for(int i=0;i<n;i++){
			array[i] = (int) (Math.random()*(Right-Left)+Left);			
		}
		
		return array;
	}

}

Client类对生成的数组进行打印:

import java.util.Scanner;

public class Client {

	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		int n = input.nextInt();
		int left = input.nextInt();
		int right = input.nextInt();
		int[] array = SortUtil.getRandomArrayData(n, left, right);
		System.out.println("打印生成的数组:");
		print(array);
	}
	
	public static void print(int[] array){
		for(int i=0;i<array.length;i++){
			System.out.print(array[i]+" ");
		}
		System.out.println();
	}
	
}

生成一个数组大小为10,数值范围是5~16的数组,输出数组:

猜你喜欢

转载自blog.csdn.net/A1344714150/article/details/88635720
今日推荐