class classname{
public:
int N,M;
bool operator< (const classname& other) const { return N < other.N; }
};
...
std::vector<classname> arr;
...
std::sort(arr.begin(), arr.end());
Или вы хотите использовать C's qsort
?
static int compare_classname (const void* a, const void* b) {
const classname* _a = reinterpret_cast<const classname*>(a);
const classname* _b = reinterpret_cast<const classname*>(b);
return _a->N < _b->N ? -1 : _a->N > _b->N ? 1 : 0;
}
...
classname* arr = new classname[n];
...
qsort(arr, n, sizeof(arr[0]), compare_classname);