PAT甲级数据结构类技术总结

本文详述了PAT甲级考试中常见的数据结构及其应用,包括向量、map和集合类。向量用于数组存储,如邻接表构建;map作为键值对容器,用于映射和查找;集合类如set用于排序和不重复元素存储。具体实例包括1126、1139等题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本篇文章专门汇总特别需要注意的数据结构,将说明每种数据结构的引入和具体用法。

向量类

要声明的头文件:<vector>

1. int v0[105]、
vector<int> v1 、
vector<int> v2[105]、
vector<vector<int>> v3(假设输入数据量最大就是100)

v0是一位数组,声明大小是105,适合用在:
(1)用v1[0]~v1[99]来访问
(2)用v1[1]~v1[100]来访问
(3)已知数组的大小是个常量,不用到输入才知道(例题:1012里的node的成员采用了数组)

v1是一维数组,没有声明大小,适合用在:
(1)v1.resize(105),然后后面用v1[1]~v1[100]来访问
(2)v1.push_back(a),然后后面用v1[0]~v1[99]来访问

v2相当于二维数组,第一维的大小是105,适合用来作为邻接表结构的图存储:
假如是有向图,v2[a].push_back(b),也就是说a到b的边
假如是无向图,v2[a].push_back(b); v2[b].push_back(a);,也就是说要存双向的边

例题:

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值