vector<Point> vecPointsInput;
vecPointsInput.push_back(Point(0, 0));
vecPointsInput.push_back(Point(0, 2));
vecPointsInput.push_back(Point(0, 5));
vecPointsInput.push_back(Point(0, 10));
vecPointsInput.push_back(Point(0, 20));
vecPointsInput.push_back(Point(0, 29));
vecPointsInput.push_back(Point(0, 35));
vector<int> labels;
int nL2Distance = 10*10;//L2欧式距离,如果该点离所有现有点的距离小于nL2Distance则归为一类,否则归为新的一类
partition(vecPointsInput, labels, [nL2Distance](Point point1, Point point2)
{
return ((point1.x - point2.x) * (point1.x - point2.x) + (point1.y - point2.y) * (point1.y - point2.y)) < nL2Distance;
});