#include <iostream>
#include <string>
#include <vector>
using namespace std;
class Book {
private:
int id;
string title;
public:
Book(int i, string t) { id = i; title = t; }
~Book() {};
int getId() { return id; }
string getTitle() { return title; }
};
int main(void){
vector<Book> bookShelf;
bookShelf.push_back(Book(1, "English"));
bookShelf.push_back(Book(2, "Math"));
bookShelf.push_back(Book(3, "History"));
bookShelf.push_back(Book(4, "Physics"));
bookShelf.push_back(Book(5, "Programming"));
bookShelf.push_back(Book(6, "Science"));
cout << "------- Order -------" << endl;
for (auto& book : bookShelf)
cout << "id: " << book.getId() << " title: " << book.getTitle() << endl;
cout << "------- Reverse Order -------" << endl;
for (auto ite = bookShelf.rbegin(); ite != bookShelf.rend(); ite++)
cout << "id: " << (*ite).getId() << " title: " << (*ite).getTitle() << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgQm9vayB7CnByaXZhdGU6CiAgIGludCBpZDsKICAgc3RyaW5nIHRpdGxlOwpwdWJsaWM6CiAgIEJvb2soaW50IGksIHN0cmluZyB0KSB7IGlkID0gaTsgdGl0bGUgPSB0OyB9CiAgIH5Cb29rKCkge307CiAgIGludCBnZXRJZCgpIHsgcmV0dXJuIGlkOyB9CiAgIHN0cmluZyBnZXRUaXRsZSgpIHsgcmV0dXJuIHRpdGxlOyB9Cn07CgppbnQgbWFpbih2b2lkKXsKICAgdmVjdG9yPEJvb2s+IGJvb2tTaGVsZjsKICAgYm9va1NoZWxmLnB1c2hfYmFjayhCb29rKDEsICJFbmdsaXNoIikpOwogICBib29rU2hlbGYucHVzaF9iYWNrKEJvb2soMiwgIk1hdGgiKSk7CiAgIGJvb2tTaGVsZi5wdXNoX2JhY2soQm9vaygzLCAiSGlzdG9yeSIpKTsKICAgYm9va1NoZWxmLnB1c2hfYmFjayhCb29rKDQsICJQaHlzaWNzIikpOwogICBib29rU2hlbGYucHVzaF9iYWNrKEJvb2soNSwgIlByb2dyYW1taW5nIikpOwogICBib29rU2hlbGYucHVzaF9iYWNrKEJvb2soNiwgIlNjaWVuY2UiKSk7CgogICBjb3V0IDw8ICItLS0tLS0tIE9yZGVyIC0tLS0tLS0iIDw8IGVuZGw7CgogICBmb3IgKGF1dG8mIGJvb2sgOiBib29rU2hlbGYpCiAgICAgIGNvdXQgPDwgImlkOiAiIDw8IGJvb2suZ2V0SWQoKSA8PCAiIHRpdGxlOiAiIDw8IGJvb2suZ2V0VGl0bGUoKSA8PCBlbmRsOwoKICAgY291dCA8PCAiLS0tLS0tLSBSZXZlcnNlIE9yZGVyIC0tLS0tLS0iIDw8IGVuZGw7CgogICBmb3IgKGF1dG8gaXRlID0gYm9va1NoZWxmLnJiZWdpbigpOyBpdGUgIT0gYm9va1NoZWxmLnJlbmQoKTsgaXRlKyspCiAgICAgIGNvdXQgPDwgImlkOiAiIDw8ICgqaXRlKS5nZXRJZCgpIDw8ICIgdGl0bGU6ICIgPDwgKCppdGUpLmdldFRpdGxlKCkgPDwgZW5kbDsKCiAgIHJldHVybiAwOwp9