#include <iostream>
#include <algorithm>
struct Data {
char name;
int value;
};
bool compare_data(const Data& first, const Data& second) {
return first.value < second.value;
}
int main() {
Data foo[4];
foo[0].name = 'A';
foo[0].value = 10;
foo[1].name = 'B';
foo[1].value = 15;
foo[2].name = 'C';
foo[2].value = 11;
foo[3].name = 'D';
foo[3].value = 9;
std::sort(std::begin(foo), std::end(foo), compare_data);
for (int i = 0; i < 4; i++) {
std::cout<<foo[i].name<<std::endl;
}
}
CiNpbmNsdWRlIDxpb3N0cmVhbT4gCiNpbmNsdWRlIDxhbGdvcml0aG0+CgpzdHJ1Y3QgRGF0YSB7CiAgIGNoYXIgbmFtZTsKICAgaW50IHZhbHVlOwp9OwoKYm9vbCBjb21wYXJlX2RhdGEoY29uc3QgRGF0YSYgZmlyc3QsIGNvbnN0IERhdGEmIHNlY29uZCkgewogICByZXR1cm4gZmlyc3QudmFsdWUgPCBzZWNvbmQudmFsdWU7Cn0KIAppbnQgbWFpbigpIHsKIAogICAgRGF0YSBmb29bNF07CgogICAgZm9vWzBdLm5hbWUgPSAnQSc7CiAgICBmb29bMF0udmFsdWUgPSAxMDsKIAogCiAgIGZvb1sxXS5uYW1lID0gJ0InOwogICBmb29bMV0udmFsdWUgPSAxNTsKCgogICBmb29bMl0ubmFtZSA9ICdDJzsKICAgZm9vWzJdLnZhbHVlID0gMTE7CgoKICAgZm9vWzNdLm5hbWUgPSAnRCc7CiAgIGZvb1szXS52YWx1ZSA9IDk7CgogICBzdGQ6OnNvcnQoc3RkOjpiZWdpbihmb28pLCBzdGQ6OmVuZChmb28pLCBjb21wYXJlX2RhdGEpOwogICAKICAgZm9yIChpbnQgaSA9IDA7IGkgPCA0OyBpKyspIHsKICAgCQlzdGQ6OmNvdXQ8PGZvb1tpXS5uYW1lPDxzdGQ6OmVuZGw7CiAgIH0KCn0=