Ankit Goel
Ankit Goel

Reputation: 6505

Difference between sort and sortInPlace in swift 2?

I have been trying to use the sortInPlace function in swift but it is not working. When I use the sort function instead of sortinplace it works.

Please explain the difference between these 2 function. It would be very helpful if you can provide small code sample demonstrating the use of both functions.

Upvotes: 6

Views: 4210

Answers (2)

mfaani
mfaani

Reputation: 36387

FWIW, in Swift 3 there is no sortInPlace. instead there is a sort & sorted.

var mutableArray = [19, 7, 8, 45, 34]

mutableArray.sortInPlace() // error : 'sortInPlace()' has been renamed to 'sort()'

mutableArray.sort() // 
print(mutableArray) // [7, 8, 19, 34, 45]

mutableArray.sorted()

print(mutableArray) // [19, 7, 8, 45, 34]
let anotherArray = mutableArray.sorted()

print(anotherArray) // [7, 8, 19, 34, 45]

If you want to use sortInPlace or sort which are mutating functions then the array must be a var, otherwise you could get a misleading error saying:

'sort()' has been renamed to 'sorted()'

Upvotes: 2

nadi9
nadi9

Reputation: 576

var mutableArray = [19, 7, 8, 45, 34]

// function sort sorts the array but does not change it. Also it has return

mutableArray.sort()

mutableArray
// prints 19, 7, 8, 45, 34

// function sortInPlace will mutate the array. Do not have return

mutableArray.sortInPlace()

mutableArray
// prints 7, 8, 19, 34, 45

Upvotes: 14

Related Questions