Files
swift-mirror/test/Interpreter/algorithms.swift
Dave Abrahams acc2c3be40 [stdlib] Prepare array sort for value semantics
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
2014-06-16 13:48:43 +00:00

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]