1:数值交换
template <class T> static inline void swap(T& x, T& y) { T t=x; x=y; y=t; }
2:求最小值
#ifndef min
template <class T> static inline T min(T x,T y) { return (x<y)?x:y; }
#endif
3:求最大值
#ifndef max
template <class T> static inline T max(T x,T y) { return (x>y)?x:y; }
#endif
4:复制
template <class S, class T> static inline void clone(T*& dst, S* src, int n)
{
dst = new T[n];
memcpy((void *)dst,(void *)src,sizeof(T)*n);
}