`
Mr小血
  • 浏览: 9913 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

集合乱序方法

阅读更多
这是转的,在别的地方看到的,记录下来~

  排序的算法有很多,也有很多公认的方法,冒泡、插排、快排。乱序的算法一直没有什么公认的好方法。自己尝试做了一些,觉得这个方法还比较不错,在这里把东西备份一下,以免以后忘记了,找不到了。如果有朋友有更好的算法,请您赐教。

  假设现在有一个集合,里面有10个元素,需要做乱序。

  我的做法是,每次随机产生一个集合索引范围内的随机数,从集合中把这个元素移除,然后把这个元素放到集合的头部或者尾部,当然只做一次,没有很好的效果,集合有多少元素,就做多少次,或者更多,但是更多次好像意义不是很大,循环次数基本与集合中元素个数相同就差不多了。

  具体代码,只需要一个方法,如下:


public class RandomNumber {
public static List<Integer> getRandom (int size){
  List<Integer> temp = new LinkedList<Integer>();
  for(int i =0; i < size ;i++){
   temp.add(i);
  }
  for(int i = size;i>0;i--){
   int ran = (int)(Math.random()*i);
   int randomValue = temp.remove(ran);
   temp.add(size-1, randomValue);
  }
  return temp;
}
}



上面代码是以java为例子的,其他语言用自己的集合也应该可以做到。
分享到:
评论

相关推荐

    基于高速乱序流的Top-k连续查询算法

    文章提出了一个查询处理框架GSTopK,该框架的核心思想是维护一个窗口中对象集合的子集,在窗口滑动时,新的查询结果可以在维护的子集中找到。为了高效维护候选集,GSTopK采用了两种哈希过滤器来识别无效对象,并保证...

    数学必修1第一章《集合与函数》测试题教师版.pdf

    首先,我们看到测试题中涉及了集合的基本概念,比如集合的定义、集合的表示方法以及集合之间的运算。例如,“A={x|x” 表示集合A是所有小于a的实数x的集合。而“AB={x|1”则表示集合A和集合B的交集,即所有在1和10...

    python生成不重复随机数和对list乱序的解决方法

    andom.sample(list, n)即是从list中随机选取n个不同的元素 ...# 在range(10)中随机生成5个不重复的数,可以作为随机下标集合,然后到list中取数 len = list.__len__() indexList = range(len) randomIndex =

    SQL - 100w条insert脚本 - 顺序乱序.zip

    在SQL数据库管理中,"100w条insert脚本"指的是用于一次性或者批量插入100万个数据记录的SQL语句集合。这样的脚本通常用于数据填充、测试环境搭建或者大数据导入等场景。批量插入可以显著提高数据录入的效率,尤其是...

    新东方四级词汇(乱序版) 双语.doc

    这篇文档是关于英语四级词汇学习的资料,名为《四级词汇词根+联想记忆法(乱序版)》,适合准备四级考试的考生使用。文档采用了双语形式,帮助学生同时提升英文阅读和单词记忆能力。 在Word List 1中,我们看到一些...

    4种思路随机乱序输出数组元素

    在编程领域,数组是一种基本的数据结构,用于存储同类型的元素集合。在Java中,数组的操作是程序员必须掌握的基础技能之一。本篇文章将深入探讨如何在Java中实现“随机不重复输出数组元素”的四种思路,这对于诸如...

    Collections

    Collections 是 Java 中的一个集合工具类,提供了多种操作集合的方法。下面是对 Collections 中部分方法的详细解释。 概述 Collections 类是一个集合工具类,它提供了多种操作集合的方法,如查找、排序、线程安全...

    俞敏洪考研英语词汇乱序版word文本.docx

    俞敏洪考研英语词汇乱序版word文本.docx 在这份文件中,我们可以提取出许多有价值的知识点,以下是对这些知识点的详细说明: 1.Challenge:挑战是一种艰巨的任务或难题,它需要我们具备勇气和智慧来应对。 2....

    WSN 中基于乱序多项式对偶密钥的攻击方案

    在众多对偶密钥管理方案中,基于乱序对称多项式的方案是一种较为常见的方法。这类方案基于数学中的多项式理论,通过多项式求解来实现密钥分配。基本思想是在一个多项式方程组中嵌入秘密信息,然后将多项式分配给网络...

    华为OJ题目集合

    【华为OJ题目集合】是华为在线判题(Online Judge,简称OJ)系统的一份代码资源库,旨在为开发者提供一个学习和实践编程技能的平台。华为OJ测试平台通常包含各种算法题目,覆盖了C和C++等编程语言,帮助用户提升编程...

    最全MySQL面试题集合

    MySQL 面试题集合 MySQL 是后端面试中的必问知识点,核心知识点集中在索引、SQL、事务、锁、调优、主从复制、分库分表等等。理解 MySQL 的原理,无论是应对面试,还是日常开发,都非常有用。 Innodb 和 MyISAM 的...

    串口调试工具暴强集合!

    4. **发送和接收缓冲区**:工具通常包含发送和接收缓冲区,用于存储待发送和已接收到的数据,防止数据丢失或乱序。 5. **命令行输入**:有些工具支持命令行输入,可以直接向串口发送特定的命令或数据包,方便测试。...

    全国数学联赛金牌教练-高中奥数辅导:第五讲-不等式的证明.pdf

    排序不等式指出,当有两个有序数组时,它们的顺序和大于或等于乱序和,只有在所有元素相等或完全相反的情况下才取等号。这一原理在证明某些不等式时非常有用,可以将不等式两边转化为有序数组的乘积形式,从而简化...

    tcp的代码集合

    如果数据包在网络中丢失或乱序,TCP会通过重传机制来恢复,确保数据的完整性。 TCP还提供了错误检测和纠正功能,通过计算校验和来检查数据在传输过程中是否出现错误。此外,TCP使用滑动窗口协议来控制发送方的发送...

    Listview控件常用方法.docx

    当拖动列的位置时,程序的输出依然不会乱序。默认值 False。只有在 lvwReport 视图该属性才有意义。 4. View:非常重要的属性。返回或设置 ListView 控件中 ListItem 对象的外观。有四个选项,lvwIcon 是图标视图,...

    链路聚合基本概念原理及配置.doc

    链路聚合的原理是将多条物理链路合并成一条逻辑链路,通过帧分发器(FD)将帧分配给不同的成员端口,每个成员端口按照常规方法将帧发送到自己的物理链路上。这样,链路聚合可以提供更高的带宽和可靠性。 链路聚合...

    互联网软件开发&#40;java&#41;大作业题目备选.doc

    初始状态是数字乱序,目标状态是顺时针排列。可以采用深度优先搜索(DFS)或广度优先搜索(BFS)来解决。每次移动都是一次边的跨越,选择最少步数的移动策略。在Java中,可以通过邻接矩阵或邻接表来表示这种关系,每...

    软件词汇(一)

    3. **Aggregate Function**: 这是指在一组数据上执行的计算,如 SUM, COUNT, AVG, MAX 和 MIN,用于提供关于整个集合的汇总信息。 4. **Alias**: "别名"是在数据库中为列或表创建的另一个名称,简化引用或避免命名...

    线性代数知识点

    - **对角线、对角矩阵和数量矩阵**:对角线是矩阵中行标和列标相同的元素集合,对角矩阵是指除了对角线上元素外,其余元素均为零的矩阵,而数量矩阵是一种特殊的对角矩阵,其中所有对角线上的元素都相等。...

Global site tag (gtag.js) - Google Analytics