mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Sorting was a bit of a mess; we had sort functions doing in-place mutation /and/ returing the value, and people were confused by the asymmetry of Array's sort() method with other higher-level methods. Fixes <rdar://problem/17185815> sort([]T, f) mutates the original array <rdar://problem/17225190> The Array.sort() method should return a sorted array Swift SVN r18922
34 lines
847 B
Swift
34 lines
847 B
Swift
// RUN: %target-run-simple-swift | FileCheck %s
|
|
|
|
// Create a new array
|
|
var arr = new Int[10]
|
|
for i in 0..10 { arr[i] = i % 7 + 2 }
|
|
println(arr)
|
|
// CHECK: [2, 3, 4, 5, 6, 7, 8, 2, 3, 4]
|
|
|
|
// min and max element
|
|
println(minElement(arr))
|
|
// CHECK-NEXT: {{^}}2{{$}}
|
|
println(maxElement(arr))
|
|
// CHECK-NEXT: {{^}}8{{$}}
|
|
|
|
// min and max element of a slice
|
|
println(minElement(arr[1..5]))
|
|
// CHECK-NEXT: {{^}}3{{$}}
|
|
println(maxElement(arr[1..5]))
|
|
// CHECK-NEXT: {{^}}6{{$}}
|
|
|
|
// sorting
|
|
|
|
// FIXME: compilation fails without the temporary xxx
|
|
var xxx = sorted(["apple", "Banana", "cherry"])
|
|
println(xxx)
|
|
|
|
// CHECK-NEXT: [Banana, apple, cherry]
|
|
|
|
// FIXME: compilation fails without the temporary yyy
|
|
var yyy = sorted(["apple", "Banana", "cherry"],
|
|
{ $0.lowercaseString > $1.lowercaseString })
|
|
println(yyy)
|
|
// CHECK-NEXT: [cherry, Banana, apple]
|