#include<iostream> #include<set> using namespace std; struct P { int entry; int time; bool operator<(const P &b)const { return (this->entry<b.entry); } }; int main() { while(!cin.eof()) { int n; cin>>n; set<P> s; P tmp; for(int i = 0;i<n;i++) { tmp.time = 1; cin>>tmp.entry; if(s.find(tmp)==s.end())s.insert(tmp); else { set<P>::iterator it; it = s.find(tmp); tmp=*it; tmp.time++; s.erase(it); s.insert(tmp); } } set<P>::iterator itr; for(itr = s.begin();itr!=s.end()&&!cin.eof();itr++) if(itr->time % 2) cout<<itr->entry<<endl; } }
举例: #include <map> #include <iostream> #include <string> using namespace std; //学生信息 typedef struct tagStudentInfo { int nID; string strName; bool operator <(const tagStudentInfo &A) const { if (nID < A.nID) return true; //先比较nID if (nID == A.nID) return strName.compare(A.strName) < 0; //nID相同时,再比较strName return false; } }StudentInfo,*pstudentInfo;
时间: 2024-10-12 06:10:22