C++ STL中MAP的输出顺序问题
这个是USACO题库里边的一个题目:http://www.nocow.cn/index.php/Translate:USACO/gift1
结果都是正确的,但是输出的顺序却和要求的不同
# include <fstream># include <map># include <string>using namespace std;int main(void){ ifstream cin("gift1.in"); ofstream cout("gift1.out"); int np; map<string, int> person; cin >> np; string Recipient; for(int i = 0; i < np; i++) { cin >> Recipient; person.insert(pair<string, int>(Recipient, 0)); //将名字加入到集合PERSON } for(int i = 0; i < np; i++) { int m, n; string Giver; //n为收礼者数目 cin >> Giver; cin >> m; //输入给予者名字 与 钱数 cin >> n; if(n) m = m / n; for(int j = 0; j < n; j++) { cin >> Recipient; person[Giver] -= m; person[Recipient] += m; } } map<string, int> ::iterator iter; for(iter = person.begin(); iter != person.end(); iter++) cout << iter->first << " " << iter->second << endl; exit(0);}