//http://stackoverflow.com/a/15968507/1458030
#include <string>
#include <algorithm>
#include <iostream>
using namespace std;
struct row{string ID, name, rest;};
bool operator < (const row& r1, const row& r2)
{ return r1.name<r2.name;}
ostream &operator<<(ostream&o, const row&r)
{ return o<<r.ID<<'\t'<< r.name<<'\t'<< r.rest<<endl; }
int main()
{ int x=2;
row rows[]={{"1","BB","r1"},{"2","AA","r2"}};//=new row[x];
std::sort(rows,rows+x);
for(int i=0;i<x;++i)
cout<<rows[i];
}
Ly9odHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8xNTk2ODUwNy8xNDU4MDMwCiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDxhbGdvcml0aG0+CiNpbmNsdWRlIDxpb3N0cmVhbT4gIAoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKc3RydWN0IHJvd3tzdHJpbmcgSUQsIG5hbWUsIHJlc3Q7fTsKCmJvb2wgb3BlcmF0b3IgPCAoY29uc3Qgcm93JiByMSwgY29uc3Qgcm93JiByMikgCnsgIHJldHVybiByMS5uYW1lPHIyLm5hbWU7fSAKCm9zdHJlYW0gJm9wZXJhdG9yPDwob3N0cmVhbSZvLCBjb25zdCByb3cmcikKeyAgcmV0dXJuIG88PHIuSUQ8PCdcdCc8PCByLm5hbWU8PCdcdCc8PCByLnJlc3Q8PGVuZGw7IH0gIAoKaW50IG1haW4oKQp7IGludCB4PTI7CiAgcm93IHJvd3NbXT17eyIxIiwiQkIiLCJyMSJ9LHsiMiIsIkFBIiwicjIifX07Ly89bmV3IHJvd1t4XTsKICBzdGQ6OnNvcnQocm93cyxyb3dzK3gpOwogIGZvcihpbnQgaT0wO2k8eDsrK2kpCiAgICBjb3V0PDxyb3dzW2ldOyAKfQo=