在 Ruby 中对数组使用冒泡排序方法 [关闭]

2024-07-04

我正在尝试将冒泡排序方法实现为 Ruby 的一个简单编码问题,但遇到了一些麻烦。我理解这个想法是查看第一个元素的值并将其与第二个元素的值进行比较,然后相应地交换它们,但我似乎无法在实际问题中做到这一点。有人愿意提供一个简短的例子来说明这在 Ruby 中是如何工作的吗?


使用 while 循环正确实现冒泡排序

def bubble_sort(list)
  return list if list.size <= 1 # already sorted
  swapped = true
  while swapped do
    swapped = false
    0.upto(list.size-2) do |i|
      if list[i] > list[i+1]
        list[i], list[i+1] = list[i+1], list[i] # swap values
        swapped = true
      end
    end    
  end

  list
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Ruby 中对数组使用冒泡排序方法 [关闭] 的相关文章

随机推荐

  • 是否可以从 JavaScript 注入的内联样式中减去一个数字?

    我在 HTML 中添加了内联样式 例如style left 10px 我可以添加 减去该数字吗 我想创建一个可以删除的规则8px从该数字开始 无论该数字是多少 我尝试使用丑陋的 importanthack 来覆盖它 但是当初始值改变时这没有
  • 获取pygame中图像各个像素的颜色

    如何获取传输到 pygame 表面的图像像素的颜色值 使用 Surface get at 仅返回表面层的颜色 而不返回其上位图传输的图像 方法surface get at很好 下面的示例显示了在没有 Alpha 通道的情况下位图传输图像时的
  • “无法连接到 iTunes Store”

    昨晚 应用内购买没有在 iOS7 模拟器设备上显示 但今天我什至没有更改代码 我也开始在 iOS 8 设备上遇到相同的错误 这是我的课 class InAppC UITableViewController SKProductsRequest
  • Java并发hashMap检索

    ConcurrentHashMap文档说 检索操作 包括 get 通常不会阻塞 因此可能与更新操作 包括 put 和 remove 重叠 检索反映了最近完成的更新操作在其开始时的结果 更正式地说 给定键的更新操作与报告更新值的该键的任何 非
  • 使用来自外部 JS 文件的 Google Analytics 异步代码

    我正在尝试将 Google Analytics 跟踪代码的异步版本添加到网站 我想将 JavaScript 保存在一个单独的文件中 并从那里调用它 这是我的 js 文件中当前的内容 function addLoadEvent func va
  • 重命名由 android 10 中的应用程序创建的 Mediastore 文件。在 Android API 30 上工作,但在 API 29 中显示错误

    在这里 这个 renameFile 函数在 Android API 30 中工作 但是 它在 Android API 29 中不起作用 并显示如下错误 java lang IllegalArgumentException 不允许移动不属于明
  • 如何使用 w3m 呈现 EMAIL 消息中的 HTML 内容?

    我如何使用 w3m 或其他方式在 EMAIL 消息中显示内嵌的 HTML 内容 或者至少在外部 Web 浏览器中打开其 MIME 部分 我找到的唯一解决方案是在 EmacsWiki 中 但它是 1996 年的代码 对我来说不起作用 至少在
  • Chrome 与 Firefox 后台缓存

    我有一个 drupal 网站 其视图链接到详细信息页面 视图具有分页功能 问题是这样的 在 FireFox 中 当您从视图的第 8 页转到详细信息页面时 然后单击后退按钮 您最终会看到page 8的视图 好的 在 Chrome 中 当您从视
  • 在 TAM 中实施 ConQuest 评分命令

    在 IRT 软件中ConQuest您可以使用命令 score 使用相同的清单变量 原始数据但不同的编码来对多个维度 潜在变量进行建模 例如 score 1 2 3 0 1 2 0 1 0 items 1 3 将原始分数从 1 到 3 重新编
  • cloudwatch/eventbridge事件调用时如何获取ECS中的事件内容?

    我们可以设置事件规则来触发ECS任务 但我没有看到触发事件是否传递给正在运行的ECS任务以及任务中如何获取该事件的内容 如果 Lambda 被触发 我们可以从event变量 例如在Python中 def lambda handler eve
  • 如何在 Windows 上的 Chrome 中打开 Jupyter 笔记本

    在我的 Windows PC 上 我安装了 anaconda 当我打开 jupyter 笔记本时 它会在 Internet Explorer 中打开 但我想使用 Chrome 有谁知道如何实现这一目标 如果您还没有创建笔记本配置文件 请运行
  • redux fetch body 不能在无 cors 模式下使用

    我有一个调用函数的操作 dispatch Api url my url method POST data data 这里我将数组作为数据传递 import fetch from isomorphic fetch export default
  • 熊猫读_csv。如何忽略换行符之前的分隔符

    我正在读取一个包含数值的文件 data pd read csv data dat sep header None 在文本文件中 每行以空格结尾 因此 pandas 等待不存在的值 并在每行末尾添加一个 nan 例如 2 343 4 234
  • **线程“main”中的异常java.util.InputMismatchException**

    我正在尝试从 txt 文件中获取一些记录并将其放入以下 Java 程序的数据库中 package Java Demo import java sql import java util import java io public class
  • Spring Boot,JPA 错误:“通过 JDBC 语句执行 DDL 时出错”

    我正在尝试使用一个非常基本的 到目前为止 Spring Boot 应用程序在我的 MySQL 数据库中添加一个条目 我使用了在网上找到的一些零碎内容 这是我试图遵循的代码 netgloo spring boot samples spring
  • 在 C++ 中访问静态类变量?

    复制 C 对静态类成员的未定义引用 https stackoverflow com questions 272900 c undefined reference to static class member 如果我有这样的类 结构 head
  • Rust 中的 OOP 和共享/可变引用

    在一系列编程课程的背景下 我决定使用 Rust 而不是 C 作为支持编程语言 这些课程的一方面致力于依赖于接口 dyn 特征 的 OOP 动态调度 最小接口的组合而不是深层继承树 我知道 OOP 不太适合现代语言和方法 但现有的代码库和 9
  • Windows下如何修改并保存Rprofile.site?

    我希望使用 Notepad 编辑器在 Windows 7 R 2 11 1 下修改 Rprofile site 文件 从 options help type text options help type html to options he
  • Node.js如何重现PHP MD5加密

    我正在将现有的基于 php 的网站转换为 node js 应用程序 并且我需要将这种加密方法从 php 复制到 js private static passwordSalt d2g6IOP U U VUIPU HN V URerjh0 rf
  • 在 Ruby 中对数组使用冒泡排序方法 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在尝试将冒泡排序方法实现为 Ruby 的一个简单编码问题 但遇到了一些麻烦 我理解这个想法是查看第一个元素的值并将其与第二个元素的