如何打乱数组以使所有元素改变其位置

2024-03-26

我需要对数组进行洗牌,以便所有数组元素都应该更改其位置。 给定一个数组[0,1,2,3]就可以得到[1,0,3,2] or [3,2,0,1]但不是[3,1,2,0](因为2保持不变)。 我想算法不会是特定于语言的,但以防万一,我在 C++ 程序中需要它(并且我不能使用std::random_shuffle由于附加要求)。


那这个呢?

  1. 分配一个包含从 0 到 arrayLength-1 的数字的数组
  2. 打乱数组
  3. 如果数组中没有索引与其值相等的元素,则继续步骤4;否则从步骤 2 开始重复。
  4. 使用打乱的数组值作为数组的索引。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何打乱数组以使所有元素改变其位置 的相关文章

随机推荐

  • emacs 智能感知

    我知道这个问题已经讨论过很多次了 但是 emacs 中的 c c intellisense 有什么好的方法吗 我一直无法正确设置 cedet 现在我正在开发一个具有庞大代码库的维护项目 如果没有适当的智能感知 管理起来非常困难 目前我正在使
  • 在每个向量条目处求和到向量末尾

    I have X lt c 1 2 3 4 5 6 我想要 X 之和的输出为 Y lt c 21 20 18 15 11 6 我继续读下去rollapply但它一次只能求和 3 个连续的数字 所以有人可以帮助我吗 你需要cumsum Try
  • 将 Console.WriteLine() 输出重定向到字符串

    我需要采取Console WriteLine 输出 并附加到字符串 我无法更改 Main 方法以简单地附加到字符串而不是写入控制台 我需要一种方法来从控制台读取所有写入的行并将它们附加到字符串 目前 我一直在使用FileStream并将控制
  • Android,有没有参考资料可以查看Android默认图标和图像是什么?

    当我想要设计 UI 时 我需要知道什么是预定义图标 我搜索了网络包括http developer android com design index html http developer android com design index h
  • 调整 coord_pol() 直方图中文本标签的位置

    我陷入了一个小标签问题 即用 ggplot2 制作的一系列极坐标直方图 圆环 这些东西怎么称呼 以下是数据和图表外观的简化示例 df lt data frame Attribute1 10 Attribute2 1 Attribute3 2
  • 如何修复 pip install 产生的 gcc 错误?

    我尝试使用以下命令从 PyPI 安装 python 包 sudo pip3 install switcheo 安装失败并显示以下错误消息 gcc Wno unused result Wsign compare Wunreachable co
  • 如何在 JavaScript 中获取查询字符串值?

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 有没有一种无插件的检索方式请求参数 http en wikipedia org wiki
  • 在 BottomSheetDialog 内的 Viewpager 内嵌套滚动

    简洁版本 我该如何设置NestedScrollingChild of a NestedScrollingParent有多个这样的孩子 长版 我实现了一个BottomSheetDialogFragment其布局由ViewPager 这个vie
  • Delphi 窗口在自定义拖动后失去焦点

    我有这段代码 当我拖动时可以移动我的主窗口MyThingThatDragsIt procedure TMainForm ApplicationMessage var Msg TMsg var Handled Boolean var Scre
  • 查找已选中复选框的顺序

    我正在尝试获取已选中的复选框的顺序 ul class dropdown content checkboxes li li ul
  • 使用cURL上传POST数据和文件

    我想使用 cURL 不仅在 HTTP POST 中发送数据参数 而且还上传具有特定表单名称的文件 我该怎么做呢 HTTP Post 参数 用户 ID 12345 filecomment 这是一个图像文件 HTTP 文件上传 文件位置 hom
  • 在 shell 中生成带有一个特殊字符的随机密码

    我有以下代码 urandom tr dc A Za z0 9 head c 16 这是完美地随机生成密码 我想要两个改变 它只能包含上面列出的一个特殊字符 它应该选择一个随机长度 我尝试过length RANDOM 8 9 然后将长度设置为
  • Android/Firebase - 解析 GCM 事件中的时间戳时出错 - 空时间戳

    我正在构建一个将接收推送通知的 Android 应用程序 我已经完成了 Firebase Cloud Messaging 设置并且几乎可以正常工作 这样我就可以将以下有效负载发送到有效令牌并接收通知和数据 使用网址https fcm goo
  • 本地安装jupyter后,无法运行jupyter笔记本

    在 Linux 红帽上 我尝试在本地安装jupyter pip install jupyter user 似乎一切都安装正确 但是 我不能小跑Jupyter笔记本 nor local bin jupyter 笔记本 Why 安装 pip i
  • 在 Android 上从浏览器下载文件时遇到问题

    我正在使用我的 Galaxy S5 测试正在开发的网站 我们的应用程序在 AWS S3 上公开文件以使用签名 URL 进行下载 下载在内置浏览器和 Chrome 中失败 但在 Firefox 中可以运行 它也可以在我们测试过的所有其他平台上
  • IVpnManagementAgent的IID在哪里定义

    我正在尝试创建一个对象IVpnManagementAgent但我似乎找不到 IID IID x ABI CWindows CNetworking CVpn CIVpnManagementAgent 它的定义是这样我可以实例化RoGetAct
  • “POCO”定义

    有人可以定义 POCO 到底是什么意思吗 我越来越频繁地遇到这个术语 我想知道它是否仅与普通类有关还是意味着更多 普通的旧 C 对象 只是一个普通的类 没有描述基础结构问题的属性或域对象不应具有的其他职责 编辑 正如其他答案所述 它在技术上
  • 隐式类型与匿名类型

    隐式类型和匿名类型之间是否相同或有什么区别 如果不同 那么隐式类型和匿名类型之间的主要区别是什么 这是个很大的差异 隐式类型 局部 变量是未显式给出类型的变量 var i new StringBuilder Now i是隐式类型String
  • 如果未选择所需的输入,则会发出警告

    如何添加警告 printpage当它被禁用时 如果它选择说请检查必填字段 Set up a blur event handler for each text field form control not BusinessName on bl
  • 如何打乱数组以使所有元素改变其位置

    我需要对数组进行洗牌 以便所有数组元素都应该更改其位置 给定一个数组 0 1 2 3 就可以得到 1 0 3 2 or 3 2 0 1 但不是 3 1 2 0 因为2保持不变 我想算法不会是特定于语言的 但以防万一 我在 C 程序中需要它