以随机顺序迭代数组[重复]

2024-03-08

给定一个序列N元素(比如std::vector or T*),是否有任何有效的方法可以按随机顺序迭代其元素,仅访问每个元素一次。该解决方案必须避免创建带有打乱索引的附加数组。

EDIT:

我们还需要能够跟踪原始索引


不是特别随机,但考虑到您的限制,您几乎没有什么选择。

A is the array
S is the size of the array
Generate a random prime number (P), such that P > S
Q = P % S
for i = 1 to S
    process A[Q]
    Q = (Q + P) % S
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以随机顺序迭代数组[重复] 的相关文章

  • Web 客户端和 Expect100Continue

    使用 WebClient C NET 时设置 Expect100Continue 的最佳方法是什么 我有下面的代码 我仍然在标题中看到 100 continue 愚蠢的 apache 仍然抱怨 505 错误 string url http
  • 按成员序列化

    我已经实现了template
  • 在哪里可以找到列出 SSE 内在函数操作的官方参考资料?

    是否有官方参考列出了 GCC 的 SSE 内部函数的操作 即 头文件中的函数 除了 Intel 的 vol 2 PDF 手册外 还有一个在线内在指南 https www intel com content www us en docs in
  • 为什么当实例化新的游戏对象时,它没有向它们添加标签? [复制]

    这个问题在这里已经有答案了 using System Collections using System Collections Generic using UnityEngine public class Test MonoBehaviou
  • 如何使用 ICU 解析汉字数字字符?

    我正在编写一个使用 ICU 来解析由汉字数字字符组成的 Unicode 字符串的函数 并希望返回该字符串的整数值 五 gt 5 三十一 gt 31 五千九百七十二 gt 5972 我将区域设置设置为 Locale getJapan 并使用
  • 在 ASP.NET 5 中使用 DI 调用构造函数时解决依赖关系

    Web 上似乎充斥着如何在 ASP NET 5 中使用 DI 的示例 但没有一个示例显示如何调用构造函数并解决依赖关系 以下只是众多案例之一 http social technet microsoft com wiki contents a
  • C#中如何移动PictureBox?

    我已经使用此代码来移动图片框pictureBox MouseMove event pictureBox Location new System Drawing Point e Location 但是当我尝试执行时 图片框闪烁并且无法识别确切
  • 将多个表映射到实体框架中的单个实体类

    我正在开发一个旧数据库 该数据库有 2 个具有 1 1 关系的表 目前 我为每个定义的表定义了一种类型 1Test 1Result 我想将这些特定的表合并到一个类中 当前的类型如下所示 public class Result public
  • while 循环中的 scanf

    在这段代码中 scanf只工作一次 我究竟做错了什么 include
  • 转发声明和包含

    在使用库时 无论是我自己的还是外部的 都有很多带有前向声明的类 根据情况 相同的类也包含在内 当我使用某个类时 我需要知道该类使用的某些对象是前向声明的还是 include d 原因是我想知道是否应该包含两个标题还是只包含一个标题 现在我知
  • 控件的命名约定[重复]

    这个问题在这里已经有答案了 Microsoft 在其网站上提供了命名指南 here http msdn microsoft com en us library xzf533w0 VS 71 aspx 我还有 框架设计指南 一书 我找不到有关
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 如何序列化/反序列化自定义数据集

    我有一个 winforms 应用程序 它使用强类型的自定义数据集来保存数据进行处理 它由数据库中的数据填充 我有一个用户控件 它接受任何自定义数据集并在数据网格中显示内容 这用于测试和调试 为了使控件可重用 我将自定义数据集视为普通的 Sy
  • 垃圾收集器是否在单独的进程中运行?

    垃圾收集器是否在单独的进程中启动 例如 如果我们尝试测量某段代码所花费的进程时间 并且在此期间垃圾收集器开始收集 它会在新进程上启动还是在同一进程中启动 它的工作原理如下吗 Code Process 1 gt Garbage Collect
  • 对现有视频添加水印

    我正在寻找一种用 C 在视频上加水印的方法 就像在上面写文字一样 图片或文字标签 我该怎么做 谢谢 您可以使用 Nreco 视频转换器 代码看起来像 NReco VideoConverter FFMpegConverter wrap new
  • 使用日期 Swift 3 对字典数组进行排序

    我有一个名为 myArray 的数组 其中添加了字典 我希望该字典按时间排序 这是字典中的键 那个时间是在 String 中 时间的日期格式为 yyyy MM dd HH mm ss 我尝试使用下面的代码解决方案 但给出了 从 字符串转换
  • 通过指向其基址的指针删除 POD 对象是否安全?

    事实上 我正在考虑那些微不足道的可破坏物体 而不仅仅是POD http en wikipedia org wiki Plain old data structure 我不确定 POD 是否可以有基类 当我读到这个解释时is triviall
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • 将控制台重定向到 .NET 程序中的字符串

    如何重定向写入控制台的任何内容以写入字符串 对于您自己的流程 Console SetOut http msdn microsoft com en us library system console setout aspx并将其重定向到构建在
  • C# 模拟VolumeMute按下

    我得到以下代码来模拟音量静音按键 DllImport coredll dll SetLastError true static extern void keybd event byte bVk byte bScan int dwFlags

随机推荐

  • 根据尺寸类别更改约束乘数

    是否可以根据当前的尺寸类别为约束赋予不同的乘数 我的观点是 对于常规尺寸类宽度 我希望其尺寸为屏幕尺寸的一半 对于紧凑尺寸类宽度 我希望其尺寸为屏幕尺寸的 80 在故事板中 我可以选择将不同大小类别的不同变量添加到约束常量值中 但不能添加它
  • 如何更新vcpkg本身?

    我已经安装了 vcpkg 一个 C 包管理器 现在过了一段时间 我想更新一下 我怎样才能做到这一点 我需要卸载并重新安装吗 更新 vcpkg git 克隆的最佳方法是 将所有已安装端口的列表保存在某处 git pull 删除
  • geom_histogram:错误的垃圾箱?

    我正在使用 ggplot 2 1 0 来绘制直方图 并且我对直方图箱有意外的行为 我在这里举了一个左封闭 bin 的示例 即 0 0 1 binwidth 为 0 1 mydf lt data frame myvar c 1 0 5 0 4
  • 有没有更好的方法来打印cout最多N个字符的字符串?

    编辑 我发送的是二进制文件而不是字符串 我的测试是使用 html 页面 所以在这个例子中我只使用一个字符串 但我的问题是关于二进制 向量和使用 ostream 进行调试 我这样做可以消除一些混乱 我有以下代码 cout lt lt stri
  • 以 Django 形式访问 POST 数据

    我一直在使用这个网站 http jacobian org writing dynamic form generation 作为如何在 Django 中制作动态表单的示例 在他看来 他使用 if request method POST for
  • 在unity3D android中本地保存大量数据的最佳方法? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在开发一个2D游戏 稍后将用作摊位的广告活动 我需要存储用户信息 姓名 号码 电子邮件和分数 这些
  • java servlet:请求参数包含加号

    请求参数就像decrypt param 5FHjiSJ6NOTmi7 2tnnkQ 在 servlet 中 当我尝试通过以下方式打印参数时String param request getParameter param I get 5FHji
  • javascript 点击事件处理程序在没有点击的情况下触发

    为什么在没有单击指定按钮的情况下会触发此函数 我查看了一些类似的问题 但没有一个涉及此代码结构 可能是我丢失的明显原因 document getElementById main btn addEventListener click hide
  • 如何在 CSS 中设置背景图像不透明度而不使用伪之前/之后和/或定位的 div

    我有一个由 CMS 生成的 div 其中包含一个背景图像 我想更改该背景图像的不透明度 而不影响该 div 子元素的不透明度 https jsfiddle net L5b81yqo https jsfiddle net L5b81yqo H
  • PyCharm 和 VirtualEnvs - 如何删除旧版本

    如何从 PyCharm 中删除遗留项目的所有痕迹 背景 我今天从 PyCharm 社区版升级到 PyCharm 专业版 原因是这样我就可以从事 Django 项目 特别是一个名为 deals 的新兴遗留项目 我删除了旧项目文件夹 然后 我打
  • Ember JS/Handlebars 视图助手

    目前 如果我们将视图定义为 view App myView ember handlebars 会将视图元素包裹在一个 div class ember view 有办法阻止这种情况吗 您可能想将 tagName 设置为 App MyView
  • “无法从安装目录获取安装脚本的一致路径”

    我正在使用 pip 从 git 存储库安装包 pip install e git git github com knipknap SpiffWorkflow git master egg SpiffWorkflow dev 克隆存储库没有问
  • 如何编写一个 C++ 程序来过滤掉非整数?

    像这样的东西 cout lt lt Enter the number of columns cin gt gt input while input int cout lt lt endl lt lt Column size must be
  • 偏移日期时间解析

    需要从格式解析日期时间2016 06 24T13 39 44 687680 第一步使用 尝试用线路解析没有微秒的时间 System out println OffsetDateTime parse 2011 12 03T10 15 30 D
  • 使用 C++ 实现 Android 事件处理程序

    我有一个 Java 布局设计 目前正在通过 JNI 移植到 C 我实际上已经完成了这一点 但我目前对如何设置事件处理程序 例如 setOnClickListener 感到困惑 我已经经历过JNI规范 https docs oracle co
  • 快速解码 JPEG 图像的方法

    我需要解码 解压为位图 非常小的 大约 1200 1200 JPEG 问题是我需要尽快完成 我尝试过 libjpeg 但速度很慢 我也尝试过 BitmapFactory decodeByteArray 它有点快 但仍然不够快 还有什么其他选
  • 在哪里编辑 mysql 全文停用词列表?

    我看到mysql的全文停用词列表是英文的 考虑到 mysql 在全世界范围内使用 这有点奇怪 无论如何 我将 ft min word len 降低到 3 所以我需要将我的语言中的常用单词添加到此列表中 有人可以告诉我在哪里可以找到它吗 Th
  • Rails 3 日期时间比较与 ActiveRecord 查询中的日期

    我试图在模型中搜索等于特定日期的任何日期 同时忽略时间戳 在 Rails 中我可以简单地执行它DateTime to date somedate 但是我认为在 SQL 中制定起来并不那么容易 因为我无法将 to date 方法应用于整个列
  • S3 Lambda 在 10 分钟后触发双重调用

    我们遇到了由 S3 ObjectCreated Events 触发的 Lambda 的双重 Lambda 调用 那些双重调用发生exactly第一次调用后 10 分钟 不是第一次尝试完成后 10 分钟 而是第一次调用发生后 10 分钟 原始
  • 以随机顺序迭代数组[重复]

    这个问题在这里已经有答案了 给定一个序列N元素 比如std vector or T 是否有任何有效的方法可以按随机顺序迭代其元素 仅访问每个元素一次 该解决方案必须避免创建带有打乱索引的附加数组 EDIT 我们还需要能够跟踪原始索引 不是特