Swift版chminを実装したい。
解決したいこと
Swiftで競技プログラミングでよく用いられるテンプレートのchminとchmaxを
作りたいのですが、うまく行きません。どなたか教えて下さい。
// aよりもbが大きいならばaをbで更新する
// (更新されたならばtrueを返す)
template <typename T>
bool chmax(T &a, const T& b) {
if (a < b) {
a = b; // aをbで更新
return true;
}
return false;
}
// aよりもbが小さいならばaをbで更新する
// (更新されたならばtrueを返す)
template <typename T>
bool chmin(T &a, const T& b) {
if (a > b) {
a = b; // aをbで更新
return true;
}
return false;
}
自分で試したこと
Swiftでもポインタが使えるかなと思ったら、うまく行きませんでした。
import Foundation
func chmin<T:Comparable>(_ a:UnsafeMutablePointer<T>,_ b:UnsafeMutablePointer<T>){
if &a > &b {
&a = &b
}
}
0