语法知识部分

使用 struct 声明,将相关的几个变量一起存储。

如果需要对结构体数组进行排序,需要自定义排序函数或者重载小于运算符。

以下代码自定义了 Point 类型,用来存储 x-y 坐标系中的坐标信息,重载小于运算符,以 x 作为第一关键字进行排序。

struct Point {
  int x, y; 
  bool operator < (const Node& T) const {
    if (x != T.x) {
      return x < T.x;   
    } else {
      return y < T.y;
    }
  }
}P[N];

sort(P, P + N);

也可以自定义排序函数 cmp。

Point p[N];

bool cmp(Point T1, Point T2) {
  if (T1.x != T2.x) {
    return T1.x < T2.x;
  } else {
    return T1.y < T2.y;
  }
}

sort(P, P + N, cmp);