凸包介绍:一组平面上的点,求一个包含所有点的最小的 凸多边形,这就是凸包问题。这可以形象地想成这样:在地上放置一些不可移动的木桩,用一根绳子把他们尽量紧地圈起来,并且为凸边形,这就是凸包了。
算法步骤:
if(栈内元素个数<2)
{
入栈
取队列内下一个元素作为当前点
}
else
{
取栈顶两个元素连成有向向量 Vector:s.top-1 → s.top
根据叉乘的结果的正负判断当前点与 Vector 的位置关系
if(当前点在 Vector 的左边或在 Vector 上)
{
入栈
取队列内下一个元素作为当前点
}
else
{
当前点