繁体   English   中英

我正在尝试使函数对数组中的int进行排序,但是运行此代码时出现错误。 我的错误在哪里?

[英]I'm trying to make a function to sort ints in an array but i get an error when this code is being ran. Where is my error?

我知道数组中有一个sort属性,但是我试图弄清楚它是如何制成的。

var array = [3,6,9,2,1,5,7,4,8]

func sort() {

    for n in array {

        if n < array[array.indexOf(n)! + 1] {

            print("do nothing")


        } else  {

            array[n] = array[n + 1]
            array[n + 1] = array[n]
        }
    }


}

sort()

您有来自此行的索引超出范围错误

if n < array[array.indexOf(n)! + 1] 

当n到达数组的末尾时,您尝试访问数组中的下一个元素,该元素不存在,因为您已经到达末尾。

在访问下一个元素之前,您需要检查以确保它在数组的边界内。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM