Andrew算法模板:
具体实现:
1.把所有点按照x从小到大进行排序 (x同则y用y进行排序)
2.删除重复序列后得到序列p1,p2.。。,
3.让后把p1 p2放入凸包中 从p3开始。当新点在凸包“前进”方向的左边时继续,否则依此删除最近加入凸包的点 直到新点在左边
这个算法你可以理解为逆时针画圆 每次半个圆
int Cross(point A,point B)//叉积
{
return A.x*B.y-A.y*B.x;
}
int cmp(point A,point B)
{
return A.x==B.x ? A.y<B.y : A.x<B.x