値の交換 exchange of values

2019年1月10日

改訂新版 C言語による標準アルゴリズム事典をSwiftでコーディング

アルゴリズム

値の交換 exchange of values

実行

Playground

コード

func mySwap(x: inout Int, y: inout Int) {
    let temp = x;
    x = y;
    y = temp;
}

var x = 12
var y = 34
print("x=\(x) y=\(y)")
mySwap(x:&x, y:&y)
print("x=\(x) y=\(y)")

ジェネリクス版

func mySwap<T>(x: inout T, y: inout T) {
    let temp = x;
    x = y;
    y = temp;
}

var x = 12
var y = 34
print("x=\(x) y=\(y)")
mySwap(x:&x, y:&y)
print("x=\(x) y=\(y)")

Swift標準ライブラリ

var x = 12
var y = 34
print("x=\(x) y=\(y)")
swap(&x, &y)
print("x=\(x) y=\(y)")

タプル

var x = 12
var y = 34
print("x=\(x) y=\(y)")
(y, x) = (x, y)
print("x=\(x) y=\(y)")

Algorithm, Swift

Posted by shi-n