当前位置: 首页 > java >正文

vector<int> adjList[MAX] 和 vector<int> adjList(MAX)的区别【C++】

vector<int> adjList[MAX]vector<int> adjList(MAX) 是两种不同的定义方式,它们在语义和用途上有明显的区别:

1. vector<int> adjList[MAX]

  • 定义方式:这是一个数组,数组的每个元素都是一个 vector<int>
  • 用途:通常用于邻接表的表示,其中 MAX 是顶点的最大数量。每个顶点对应一个 vector<int>,用于存储与该顶点相邻的其他顶点。
  • 示例
    const int MAX = 100;
    vector<int> adjList[MAX];
    adjList[0].push_back(1); // 表示顶点0与顶点1相邻
    

2. vector<int> adjList(MAX)

  • 定义方式:这是一个 vector,其大小被初始化为 MAX
  • 用途:通常用于创建一个固定大小的 vector,并初始化其大小为 MAX。这种方式在需要预先分配固定大小的 vector 时非常有用。
  • 示例
    const int MAX = 100;
    vector<int> adjList(MAX);
    adjList[0] = 1; // 设置第0个元素的值为1
    

总结

  • vector<int> adjList[MAX]:定义了一个数组,数组的每个元素是一个 vector<int>,常用于邻接表。
  • vector<int> adjList(MAX):定义了一个大小为 MAXvector,常用于需要预先分配固定大小的场景。
http://www.xdnf.cn/news/17036.html

相关文章:

  • 【Linux系统】进程间通信:匿名管道
  • UE5的渲染Debug技巧
  • 块三角掩码(Block-Triangular Masking)
  • Java 中也存在类似的“直接引用”“浅拷贝”和“深拷贝”
  • feign日志学习记录
  • k8s+isulad 国产化技术栈云原生技术栈搭建1-VPC
  • VUE-第二季-01
  • python批量gif图片转jpg
  • 【DL学习笔记】深入学习tenser
  • Claude Code入门学习笔记(一)--Claude Code简介
  • ICCV 2025 | EPD-Solver:西湖大学发布并行加速扩散采样算法
  • 多线程异步日志系统与实现及 TCP/IP C/S 模型
  • 解剖 .NET 经典:从 Component 到 BackgroundWorker
  • AD方案(OpenLDAP或微软AD)适配信创存在的不足以及可能优化方案
  • Redis面试精讲 Day 9:Redis模块开发与扩展
  • 【数据迁移】Windows11 下将 Ubuntu 从 C 盘迁移到 D 盘
  • 每日面试题20:spring和spring boot的区别
  • Spring MVC 九大组件源码深度剖析(一):MultipartResolver - 文件上传的幕后指挥官
  • Go语言实战案例:TCP服务器与客户端通信
  • Uniapp一根数据线实现真机调试运行【uniapp如何把项目运行在手机上】
  • 昇思学习营-开发版-模型推理和性能优化
  • Kaggle 竞赛入门指南
  • Jetson Orin NX/NANO+ubuntu22.04+humble+MAVROS2安装教程
  • LeetCode - 合并两个有序链表 / 删除链表的倒数第 N 个结点
  • Nginx相关实验(2)
  • Linux服务器运维告警系统搭建完整指南
  • 使用AssemblyAI将音频数据转换成文本
  • Elastic 9.1/8.19:默认启用 BBQ,ES|QL 支持跨集群搜索(CCS)正式版,JOINS 正式版,集成 Azure AI Foundry
  • uni-app学习笔记01-项目初始化及相关文件
  • 控制建模matlab练习10:滞后补偿器