stl的iterator指针的使用

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<vector>
#define FOR(i,s,t) for(register int i=s;i<=t;++i)
using namespace std;
class node{
	public:
		int x;
		int y;
		inline bool operator<(node A)const{
			return x<A.x||x==A.x&&y<A.y;
		}
		inline bool operator>(node A)const{
			return x>A.x||x==A.x&&y>A.y;
		}
	private:
};
vector<node>s;
int n;
inline int read(){
	char c;while(c=getchar(),c==' '||c=='
');int data=c-48;
	while(c=getchar(),c>='0'&&c<='9')data=(data<<1)+(data<<3)+c-48;return data;
}
int main(){
	scanf("%d",&n);
	FOR(i,1,n)s.push_back((node){read(),read()});
	vector<node>::iterator minn=s.begin();
	for(vector<node>::iterator pos=s.begin();pos!=s.end();++pos)
		if(*minn>*pos)
			minn=pos;
	printf("%d %d
",(*minn).x,(*minn).y);
	return 0;
}

  

原文地址:https://www.cnblogs.com/Stump/p/7788495.html