~zarray() { if (data_) { delete[] data_; } }

T* data() { return data_; } int size() { return size_; }

private: T* data_; int size_; int capacity_; };

z1::zsort(arr.data(), arr.size());

#include <iostream> #include <vector>