前言
之前讲过变量,讲了数据类型(如 int 等),而结构体就相当于创造一个类型。
定义结构体
首先,写上一个神圣不可侵犯的(bushi) struct
。
好了,不开玩笑了。
在程序外围定义(一般写在命名空间后面)。
struct 名字
{
含有的东西。
}; 一定一定要有分号!!!
例:定义存储坐标的结构体
struct zuobiao
{
int x, y;
};
结构体定义好了,我们就可以拿结构体创建数据结构了。
以上面的坐标为例,定义一个类型为 \(zuobiao\) 的变量 \(a\),只需要写:zuobiao a;
就完事了,神不神奇。
数组同样:zuobiao mp[n][m]
。
使用结构体
以上面的 \(zuobiao,a,mp\) 为例:
\(a\) 的 \(x\)(坐标中定义的):a.x
;\(a\) 的 \(y\)(坐标中定义的):a.y
。
数组:正常数组+".定义名",mp[i][j].x
或其他。
结构体排序
结构体排序需要写专门的函数,一般叫 \(cmp\)。
以 \(mp\) 数组为例,以 \(x\) 从大到小排序就这么写:
bool cmp(zuobiao a, zuobiao b)
{
return a.x > b.x;
}
省略......
sort(mp + 1, mp + n + 1, cmp);
这样就好了,也可以根据实际需求结合分支结构等进行自定义。
关于 sort 的用法详见 这篇文章,侵权联系紫衫(主要懒得写)。
作者的话
就这样吧,推荐几道例题。
拜拜~
标签:定义,cmp,struct,zuobiao,学习,从零开始,C++,结构,mp From: https://www.cnblogs.com/George222/p/18377845