arrays – 序列数组中的奇数和偶数索引

arrays – 序列数组中的奇数和偶数索引,第1张

概述for循环中的for不起作用,因为int类型不符合协议序列. 我有3个数组: 1个主数组,存储数组 1个奇数阵,开头为空 1个偶数组,开头为空 意思是主阵列的所有奇数索引将存储在奇数阵列中,而偶数阵列则相同. while i < masterA.count { evenA.append(masterA[i]) if i > 0{ oddA.appen for循环中的for不起作用,因为int类型不符合协议序列.

我有3个数组:

1个主数组,存储数组

1个奇数阵,开头为空

1个偶数组,开头为空

意思是主阵列的所有奇数索引将存储在奇数阵列中,而偶数阵列则相同.

while i < mastera.count {        evenA.append(mastera[i])        if i > 0{        oddA.append(mastera[i - 1])        }        i += 2    }

然而,这不够好.谁有更好的主意?

这是另一种可能的解决方案
let evenA = strIDe(from: 0,to: mastera.count,by: 2).map { mastera[
import Swiftlet N = 10_000_000let RUNS = 50let mastera = (0..<N).map { 
#elements   filter+map  flatMap   strIDe+map  loop10,000      0.0001      0.00008   0.00004     0.00004100,000     0.0016      0.0008    0.0004      0.00041,000,000   0.0295      0.0136    0.0090      0.009110,000  0.3025      0.1332    0.0909      0.1250
}var times = (0.0,0.0,0.0)for _ in 1...RUNS { // filter+map (dfri) do { let start = Date() let evenA = mastera.enumerated().filter { .0 % 2 == 0 }.map{ .1 } let oddA = mastera.enumerated().filter { .0 % 2 != 0 }.map{ .1 } let time = Date().timeIntervalSince(start) times.0 += time } // flatMap (dfri) do { let start = Date() let evenA = mastera.enumerated().flatMap { % 2 == 0 ? : nil } let oddA = mastera.enumerated().flatMap { % 2 != 0 ? : nil } let time = Date().timeIntervalSince(start) times.1 += time } // strIDe+map (me) do { let start = Date() let evenA = strIDe(from: 0,by: 2).map { mastera[] } let oddA = strIDe(from: 1,by: 2).map { mastera[] } let time = Date().timeIntervalSince(start) times.2 += time } // loop (Keiwan) do { let start = Date() var evenA = [Int]() var oddA = [Int]() for (index,element) in mastera.enumerated() { if index % 2 == 0 { evenA.append(element) } else { oddA.append(element) } } let time = Date().timeIntervalSince(start) times.3 += time }}print(N,RUNS)print(times.0/Double(RUNS),times.1/Double(RUNS),times.2/Double(RUNS),times.3/Double(RUNS))
] }let oddA = strIDe(from: 1,by: 2).map { mastera[] }

元素直接从源阵列中的偶数/奇数位置“拾取”.

表现比较:

我的简单,不是非常复杂的特殊基准测试代码:

结果:(在MacBook上,在发布模式下运行)

总结

以上是内存溢出为你收集整理的arrays – 序列数组中的奇数和偶数索引全部内容,希望文章能够帮你解决arrays – 序列数组中的奇数和偶数索引所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1033475.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-24
下一篇2022-05-24

发表评论

登录后才能评论

评论列表(0条)

    保存