随机打乱一组数据(算法)

最近一个项目的开发中遇到一个需求,有一组数1,2,3,4,5,6,7,8,0. 哈哈,如何将它随机打乱生成一个0-8的任意排列呢?比如生成0.6.1.2.3.4.5.7.8等等。

算法思路:

1、使用Arraylist存放这组数

2、随机生成Arraylist的下标值,根据下标值依次取出Arraylist值,直到Arraylist为空

哈哈,是不是很简单。。。。。。。。。。

下面看代码:

	private static void genRandomData() {
		int data[] = { 1, 2, 3, 4, 5, 6, 7, 8, 0 };
		int resultdata[] = new int[9];
		List<Integer> dataArray = new ArrayList<Integer>();
		for (int i = 0; i < data.length; i++) {
			dataArray.add(data[i]);
		}
		int i = 0;
		while (dataArray.size() > 0) {
			int index = (int) (Math.random() * dataArray.size());
			resultdata[i] = dataArray.get(index);
			i++;
			dataArray.remove(index);
		}

		for (int m = 0; m < resultdata.length; m++) {
			System.out.println(resultdata[m]);
		}
	}

随机打乱一组数据(算法),码迷,mamicode.com

时间: 2024-10-05 23:19:37

随机打乱一组数据(算法)的相关文章

随机打乱一组数(出题)

1 /* 2 打乱一组数据a[0]~a[n-1]: 3 给出0~n-1的编号,打乱这些编号,得到编号数组b[0]~b[n-1], 4 现在的数据为a[b[0]],a[b[1]],-,a[b[n-1]] 5 */ 6 #include <cstdio> 7 #include <cstdlib> 8 #include <cstring> 9 #include <cmath> 10 #include <string> 11 #include <s

matlab 哪个函数可以从一组数据中随机抽取一部分出来

假设你原来的数据存在变量a中 如果,你想从a中随机抽取固定N个数c=randperm(numel(a));b=a(c(1:N));b就是从a中随机抽取的N个数(N应该小于a中元素的总个数) numel(a)获得原来a中元素的个数 c=randperm(numel(a)); 得到一个由1到numel(a))个自然数组成的随机乱序数列 加入a中有100个元素,那么运行完c=randperm(numel(a));之后 c就是一个由1到100的自然数组成的数组,但是顺序是随机打乱的 c(1:N)取c的前

大数据算法(一)亚线性算法

来源:大数据算法 王宏志 一.概述 大数据定义:在给定的资源约束下,以大数据为输入,在给定时间约束内可以生成满足给定约束结果的算法. 大数据特点:4V 大数据算法可以不是: 精确算法 内存算法 串行算法 仅在电子计算机上运行的算法 大数据算法不仅是: 云计算 MapReduce 大数据分析和挖掘的算法 难度: 访问全部数据时间过长 读取部分数据 亚线性算法 数据难以放入内存 将数据存储到磁盘上 外存算法 仅基于少量数据进行计算 空间亚线性算法 单个计算机难以保存全部数据 并行处理 并行算法 计算

随机森林与集成算法

决策树: 使用决策树算法,我们从树根开始,基于可获得最大信息增益(information gain,IG)的特征来对数据进行划分,我们将在下一节详细介绍信息增益的概念. 通过迭代处理,在每个子节点上重复此划分过程,直到叶子节点.这意味着在每一个节点处,所有的样本都属于同一类别. 在实际应用中,这可能会导致生成一棵深度很大且拥有众多节点的树,这样容易产生过拟合问题,由此,我们一般通过对树进行“剪枝”来限定树的最大深度. 最大化信息增益——获知尽可能准确的结果 为了在可获得最大信息增益的特征处进行节

大数据算法摘录

大数据算法的摘抄 预处理 抽取 清洗 分析方法 聚合: 聚类类似于分类,但与分类的目的不同,是针对数据的相似性和差异性将一组数据分为几个类别.属于同一类别的数据间的相似性很大,但不同类别之间数据的相似性很小,跨类的数据关联性很低. 分类: 分类是找出数据库中的一组数据对象的共同特点并按照分类模式将其划分为不同的类,其目的是通过分类模型,将数据库中的数据项映射到摸个给定的类别中. 回归分析: 回归分析反映了数据库中数据的属性值的特性,通过函数表达数据映射的关系来发现属性值之间的依赖关系.它可以应用

魔方 打乱步骤生成 算法

之前一直想写个魔方计算器来着,以为一直用的都是魔方小站上的那个,虽然经典,但是太不美观了,而且我是个前端,那页面,那代码,简直不忍直视,所以想自己写一个.可是各种原因一直没机会写完,只写了核心打乱部分. 但是由于我魔方水平有限,所以这个算法还是参考至魔方小站,只是重新写了下代码: (function() { function checkmove(move, arr) { // 检测步骤合理性 var l = arr.length; return move == arr[l - 1] || (mo

SVM4TS (SVM for Time Series) 企业级SVM大数据算法运算平台

SVM4TS(SVM for Time Series)是一款基于SVM的大数据运行平台,支持大数据训练.模型产生.模型实例化.模型发布与上线.目前,SVM4TS是最优秀的商业大数据算法运行平台之一.STV4TS具有如下优点:(1)STV4TS更适合针对时间序列的机器学习计算,包括连续时间序列(如传感器数据)以及离散时间序列(如股票数据):(2)SVM4TS提供了数据分析.模型产生.模型升级.模型上线的全套解决方案,使用相对容易:(3)算法表现好,其算法的综合测评在众多框架中均名列前茅:(4)价格

简单说说随机打乱数组的方法

原文链接:http://www.gbtags.com/gb/share/5646.htm 把一个数组随机打乱这个需求来源可能就是“洗牌”,所以我们常常称之为洗牌问题.这个问题实现并不复杂,有不少方法可以完成.与其他算法不同,洗牌问题不仅追求速度,还要求“洗得足够开”.今天只想写篇短的,只分享两种比较有代码性的洗牌方法.至于这些方法能不能真正将数组随机打乱,我们下次再讲. 方法一,随机排序法: function shuffle(array) { array.sort(function() { re

java list随机打乱

java list随机打乱package arrlist; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Random; /** * 打乱列表中数据元素的三种实现方法 * * @author Alexia * @date 2013-7-16 * */ public class ShuffleTest { // 打乱列表实现方法1 public <T