- rankmap[2 * count] = i;
- rankmap[2 * count + 1] = recvbuf[2 * i + 1];
- count++;
- qsort(rankmap, count, 2 * sizeof(int), &smpi_compare_rankmap);
- group_out = new Group(count);
+ rankmap.push_back({recvbuf[2 * i + 1], i});
+ std::sort(begin(rankmap), end(rankmap));
+ group_out = new Group(rankmap.size());