关键字:
随机排序、JAVA、算法、一组数字
今天在网上看到了数组随机排序了算法。感觉非常巧妙,只有短短的几句代码,算法的力量真是太强大了。
下面把这个代码转贴一下,感兴趣的人可以琢磨琢磨,很有意思。
import java.util.*;
/**
* 生成不重复随机数的一种算法。
*
* @author 赵学庆,Java世纪网(java2000.net)
*
*/
public class T {
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 = ran.nextInt(len - i);
// 得到那个位置的数值
result[i] = seed[r];
// 将最后一个未用的数字放到这里
seed[r] = seed[len - 1 - i];
}
System.out.println("result:" + Arrays.toString(result));
}
}
一个运行结果
result:[6, 4, 5, 9, 7, 2, 8, 3, 1]
分享到:
相关推荐
随机生成10000数字,进行快速排序,并输出排序后的数组,及耗时
在JavaScript中,可以使用`Math.random()`函数来生成一个0到1之间的随机数,然后通过数组的`sort()`方法配合随机数来实现数组的随机排序。下面是一个简单的实现方法: ```javascript function shuffleArray(array) ...
最后,该文档提到的实例中对0到9的数字进行随机排序,并展示了随机排序前后的数组元素,便于读者理解整个随机排序过程。随机排序后的数组元素是完全打乱的,每次执行时都有可能得到不同的排序结果,这正是随机排序的...
父进程创建三个子线程,第一个子线程对数组的前半部分进行选择排序,第二个子进程对数组的后半部分进行选择排序,第三个子线程对两个已经排序好的数组部分进行归并排序,最后当所有子线程结束之后,父进程输出排序好...
随机数是一个数学概念,它是指在一个给定的范围内随机生成的一组数字。随机数广泛应用于科学计算、数据分析、模拟仿真等领域。 在易语言中,我们可以使用取随机数函数来生成随机数。取随机数函数可以生成一个介于...
在给定的实例中,我们创建了一个包含字母和数字的数组`$array`,然后调用`shuffle()`函数对这个数组进行随机排序: ```php $array = array('A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K'); ...
在本文中,我们将深入探讨如何使用C++编程语言来实现对命令行中输入的数字组进行排序,特别是采用冒泡排序算法。冒泡排序是一种基础的排序算法,它通过重复遍历要排序的数列,一次比较两个元素,如果他们的顺序错误...
排序算法的目的是将一组数据按照特定顺序排列。常见的排序算法有以下几种: 1. 冒泡排序:这是一种简单的交换排序,通过不断交换相邻的逆序元素来逐步排序,时间复杂度为O(n^2)。 2. 插入排序:将每个元素插入到已...
本文将详细介绍如何使用JavaScript实现随机排序功能,以及三种不同的方法来达到这个目的。这些算法可以帮助开发者在某些场景下创建出不可预测的顺序,比如在游戏或者抽奖应用中。 **方法一:简单交换法** 这种方法...
下面是一个完整的C#程序示例,演示了如何使用随机数生成器生成随机数,并使用冒泡排序算法对数组进行排序: ```csharp using System; class Program { static void Main(string[] args) { int[] nums = new int...
5. **随机化数组/列表**:在生成一组号码后,可能需要将它们排序以形成特定格式,例如按升序或降序排列。Python中的`sorted()`函数或Java的`Arrays.sort()`可以做到这一点,但要注意这会破坏随机性,因此通常在生成...
// 第一次随机排序 shuffle($a); print_r($a); // 可能的输出:[5, 1, 4, 2, 3] // 第二次随机排序 shuffle($a); print_r($a); // 可能的输出:[3, 2, 1, 5, 4] ``` 每次调用`shuffle()`函数,数组的元素顺序都会被...
查找算法用于在一组数据中检索特定项的存在性和位置,JavaScript中的`indexOf`、`lastIndexOf`和`find`等方法可以用来查找数组中元素的位置。 #### JavaScript错误与调试技巧总结 在JavaScript程序开发中,错误...
无序排列,也称为组合,是从n个不同元素中取出m个元素组成一组,不考虑元素的顺序。记为nCr或_C^n_m,计算公式为n!/(m!(n-m)!), 这里0!定义为1。 举例来说,从1到9中选择7个数字组成7位数,要求5和6不相邻。我们...
描述中的“随机排大小数”指的是利用随机算法对一组数字进行排序。在编程中,可以使用各种随机排序算法,例如: 1. 快速排序(Quick Sort):一种常用的排序算法,它选择一个基准值,将数组分为两部分,一部分的...
《数字连连看Numbershow》是一款基于Java编程语言开发的小型游戏程序,旨在为用户提供一个轻松愉快的数字匹配体验。在这款游戏中,玩家需要通过寻找并消除两个相同数字的方块来完成关卡,直至所有可匹配的数字全部...
例如,你可以为每个算法创建一个成员函数,接受一个整数数组作为参数,返回排序后的数组。在Qt5的环境中,你可以利用QVector或其他容器类来存储数据,并通过信号和槽机制来更新UI,显示排序过程或结果。 此外,为了...
在JavaScript中,随机排序数组是一种常见的需求,例如在实现随机显示列表、模拟洗牌算法或生成随机测试数据时。本文将深入探讨两种不同的JS随机排序数组的实现方法,并通过实例对比分析其操作技巧。 首先,我们来看...
在计算机科学中,排序是数据处理的核心操作之一,它涉及到对一组数据进行重新排列,使得数据按照特定的规则(如升序或降序)有序。本篇将详细讨论几种常见的排序算法,包括冒泡排序以及随机排序,这些都是数据结构...