Swift 中的快速排序出现错误

2024-03-01

我正在 Swift 中使用高阶函数编写快速排序,但它给出了

error: 'Int' is not convertible to '[Int]'
return quickSort(array: lesser) + [pivot] + quickSort(array: greater)

这是代码:

func quickSort(array: [Int]) -> [Int] {
    var array = array

    if array.isEmpty {return []}

    let pivot = array.remove(at: 0)
    let lesser = array.filter { $0 < pivot }
    let greater = array.filter { $0 >= pivot }

    return quickSort(array: lesser) + [pivot] + quickSort(array: greater)

}

错误在最后一行。


我无法告诉你为什么它不起作用(我认为它应该),但我可以告诉你如何修复它

替换这个

return quickSort(array: lesser) + [pivot] + quickSort(array: greater)

有了这个

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

Swift 中的快速排序出现错误 的相关文章

随机推荐

  • unordered_map 以引用作为值

    值类型为引用 C 11 的 unordered map 是否合法 例如std unordered map
  • 如何以编程方式读取 AWS Glue 数据目录表架构

    我有一组结构统一的日常 CSV 文件 我将其上传到 S3 有一个下游作业将 CSV 数据加载到 Redshift 数据库表中 CSV 中的列数可能会增加 从那时起 新文件中将包含新列 发生这种情况时 我想检测更改并自动将该列添加到目标 Re
  • 在android中,当一张图像移动时,如何知道两个图像是否相交?

    在我的应用程序中 我使用以下方法在屏幕上移动图像onTouchListener 我在同一视图中还有另外两张图像 我的问题是 当移动图像接触任何其他图像时 我需要执行特定操作 这意味着如果图像相交 则执行某些操作 如何实现这一点 请尽快帮助我
  • 从订单表中提取本周的记录

    我有一张包含以下信息的表格 Id orderNumber orderDate customerId orderDate是 MySQL 日期时间字段 当前日 月 年和时间在写入记录时插入数据库 所以我的问题是如何提取本周某一天的订单列表 我的
  • 克服 NSURL 的 checkResourceIsReachableAndReturnError 的意外行为

    在我为 iOS 5 创建的程序中 我遇到了 NSURL 的 checkResourceIsReachableAndReturnError 方法的意外行为 我创建了一个新项目来验证该问题 并仅包含代码 NSURL url NSURL URLW
  • Pandas:两个 datetime64 对象的差异产生 NaT 而不是正确的 timedelta 值

    这个问题 被问了很多 但仔细查看其他答案后 我还没有找到适合我的情况的解决方案 遗憾的是 这仍然是一个症结所在 我有一个pandas带列的数据框datetime我只是想计算数据覆盖的时间范围 以秒为单位 比如说 from datetime
  • 查询一段时间内的 DAU/MAU(每日)

    我有一个每日会话表 其中包含 user id 和日期列 我想绘制每天的 DAU MAU 每日活跃用户 每月活跃用户 图表 例如 Date MAU DAU DAU MAU 2014 06 01 20 000 5 000 20 2014 06
  • Spring Cloud Stream Kafka - 方法必须是声明性的

    我已经使用 Spring Cloud Stream 配置了一个基于 Spring Boot 的应用程序 我正在尝试处理 KStream 但不断收到错误 java lang IllegalArgumentException 方法必须是声明性的
  • 自训练算法

    我想针对特定问题开发一种自我训练算法 为了简单起见 我将把它归结为简单的例子 更新 我添加了一个工作解决方案作为下面这个问题的答案 假设我有来自数据库的大量实体列表 每个实体都是相同的类型 并且有 4 个字节类型的属性 public cla
  • Maven - 如何重命名 jar 名称的输出分类器?

    我正在尝试重命名属于 WAR 项目一部分的 jar 文件名的默认输出分类器 默认情况下 它会生成以下输出 jar project artifactId project version classifier 在我的示例中 它将生成 myweb
  • 解决“配置对象是只读的,因为它已通过调用 ServerManager.CommitChanges() 提交”?

    我为安装程序项目编写了一个自定义操作 该操作执行以下操作 检查现有网站是否存在同名网站 由用户输入 如果该网站不存在 则在 IIS 中创建该网站 创建应用程序池 将应用程序池分配给创建的网站 当涉及到分配应用程序池时 我收到错误 配置对象是
  • 使用 XML 设置选项卡小部件的样式

    所以我在使用 xml 设计选项卡小部件时遇到了很大的困难 我搜索过的所有地方似乎都建议以编程方式执行此操作的解决方案 或者引用 actionBarTab 样式 gt 我想要实现的是使用生成的 qtabwidget 可绘制对象的自定义选项卡h
  • 我可以在 Google Apps 脚本上设置每小时特定时间的触发器吗?

    我有一个链接到谷歌表格文档的谷歌应用程序脚本 我想在每小时的顶部运行脚本 即恰好下午 1 00 00 下午 2 00 00 下午 3 00 00 等 我已经在 管理项目的触发器 设置中设置了每小时触发器 但是 这将在一小时内选择一个随机时间
  • 将外部模块 TypeScript 声明暴露给使用模块

    我有一个已发布的 TypeScript 模块 我们称之为shared stuff 旨在由其他 TypeScript 模块导入 这shared stuff模块具有第三方依赖项 但没有 types 范围声明 因此该模块内部有几个声明文件 lib
  • T-SQL UDF 与完整表达式运行时

    我试图通过在 SQL SERVER 中使用 UDF 使我的查询可读 但使用该函数时运行时间会急剧增加 以下是我正在使用的功能 create function DL trim all input varchar max returns var
  • 使属性不可枚举有什么好处?

    可枚举性是属性的三个属性之一 可写性 可枚举性和可配置性 我的问题是 在 JavaScript 中使属性不可枚举有什么好处 我知道我们通过使属性不可枚举来隐藏属性 但是隐藏属性有什么好处呢 我们可以访问不可枚举的属性吗 如果是 那么使它们不
  • Android ImageView连续放大和缩小

    有什么办法可以放大和缩小ImageView在Android中不断 我尝试使用下面的代码 但只有一个缩放功能可以工作 缩放 xml
  • iPhone 上 Objective C 中的静态字符串变量

    如何在 iPhone 中创建和访问静态字符串 目标 c 我声明static NSString str OldValue 在A类 如果我在 B 类中为此分配一些值str NewValue 该值对于 B 类中的所有方法都有效 但是 如果我在 C
  • Java线程中的定时器

    我有一个线程负责执行一些过程 我想让这些处理每 3 秒完成一次 我使用了下面的代码 但是当线程启动时 什么也没有发生 我假设当我为计时器定义任务时它会自动执行ScheduledTask在时间间隔内但它根本不做任何事情 我缺少什么 class
  • Swift 中的快速排序出现错误

    我正在 Swift 中使用高阶函数编写快速排序 但它给出了 error Int is not convertible to Int return quickSort array lesser pivot quickSort array gr