#include <iostream>
#include <vector>
#include <stack>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <queue>
#include <cstring>
#include <unordered_map>
#include <unordered_set>
#include <algorithm>
#include <numeric>
#include <chrono>
#include <ctime>
#include <cmath>
#include <cctype>
#include <string>
#include <cstdio>
#include <iomanip>
#include <thread>
#include <mutex>
#include <condition_variable>
#include <functional>
#include <iterator>
using namespace std;
typedef pair<string, string> Book;
map<string, string> author;
set<Book> books;
set<Book> ret;
int main()
{
string temp,name,atr;
int index,cnt = 0;
while (getline(cin, temp) && temp[0] != 'E') {
name = atr = ""; index = cnt = 0;
index = temp.find('"', 1);
name = temp.substr(0, index + 1);
atr = temp.substr(index + 5);
author[name] = atr;
books.insert(Book(atr, name));
}
while (getline(cin, temp) && temp[0] != 'E') {
if (temp[0] == 'B') {
name = temp.substr(7);
books.erase(Book(author[name],name));
}
else if(temp[0] == 'R'){
name = temp.substr(7);
ret.insert(Book(author[name], name));
}
else {
for (auto it = ret.begin(); it != ret.end(); it++) {
auto before = books.insert(Book(it->first, it->second));
if(before.first != books.begin()){
before.first--;
cout <<"Put " <<it->second << " after "<< before.first->second <<endl;
}
else {
cout << "Put " << it->second << " first"<< endl;
}
}
ret.clear();
cout << "END" << endl;
}
}
return 0;
}
习题5-8(uva-230)
最新推荐文章于 2021-07-01 11:56:40 发布
本文介绍了一个简单的图书管理系统,该系统使用 C++ 实现,并利用标准模板库 STL 中的数据结构进行书籍信息的存储与管理。系统能够录入书籍及其作者信息,并支持删除书籍、归还书籍等功能。通过命令行交互的方式实现了书籍信息的添加、检索、调整等功能。
269

被折叠的 条评论
为什么被折叠?



