簡體   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