値の交換 exchange of values

改訂新版 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)")


[改訂新版]C言語による標準アルゴリズム事典 (Software Technology)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です