#include<stdio.h>
#include<algorithm>
#include<vector>
#include<iostream>
using namespace std;
typedef struct rect
{
int id;
int length;
int width;
//对于向量元素是结构体的,可在结构体内部定义比较函数,下面按照id,length,width升序排序。
bool operator< (const rect &a) const
{
if(id!=a.id)
return id<a.id;
else
{
if(length!=a.length)
return length<a.length;
else
return width<a.width;
}
}
rect operator- (const rect &a) const
{
rect f;
f.id = id - a.id;
f.length = length-a.length;
f.width = width-a.width;
return f;
}
}Rect;
int main()
{
vector<Rect> vec;
Rect rect,rect1;
rect.id=1;
rect.length=2;
rect.width=3;
rect1.id=2;
rect1.length=2;
rect1.width=3;
if (rect<rect1)
{
printf("+++");
}
vec.push_back(rect);
vec.push_back(rect1);
vector<Rect>::iterator it=vec.begin();
for (;it<vec.end();it++)
{
cout<<(*it).id<<' '<<(*it).length<<' '<<(*it).width<<endl;
}
reverse(vec.begin(),vec.end());
vector<Rect>::iterator itt=vec.begin();
for (;itt<vec.end();itt++)
{
cout<<(*itt).id<<' '<<(*itt).length<<' '<<(*itt).width<<endl;
}
sort(vec.begin(),vec.end());
itt = vec.begin();
for (;itt<vec.end();itt++)
{
cout<<(*itt).id<<' '<<(*itt).length<<' '<<(*itt).width<<endl;
}
Rect ct = rect1 - rect;
return 0;
}
C++ Vector
最新推荐文章于 2024-10-06 21:43:08 发布