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

Y1——链式前向星

知识点

模版——链表的前插法

head表示头结点的下标

ver[i]表示结点i 的值

tot存储当前已经用到了哪个

add用于将x插到头结点

int head=1;
intt ver[N],Next[N];
int ttot=-1;
void add(int x){ver[++tot]=x;Next[tot]=head;head=tot;
}

常见的链式前向星三种实现形式:


1、结构体形式的实现

通过结构体记录每条边的信息

定义一个结构体
其中 to 表示指向的点,next 表示下一个节点存储的下标,c 表示权值

struct edge{int to,next,c;
}e[N];
int cnt=0;
void add(int u,int v,int c){cnt++;e[cnt].to=v;e[cnt].c=c;e[cnt].next=head[u];head[u]=cnt;
}

 使用之前将head数组清空为-1


2、数组模拟实现

通过多个数组记录每条边的信息。
head[u]即表示节点 u 对应的边表的头节点
e[]记录这条边指向的点
w[]记录边的权值
ne[]记录下一个点的位置
加边函数的写法:

void add(int a,int b,int c){e[idx]=b;//idx记录边的编号 w[idx]=c;//e[idx]=b,w[idx]=c用来记录边的信息 ne[idx]=head[a];//-用来添加一条边 head[a]=idx++;//  /
}

 使用之前将head数组清空为-1


3、vector 实现

使用 vector 嵌套 vector

最外层 vector 需要指定大小,方便加边。

定义:vector<vector<int>> a(100);

加边:e[a].push_back(b);

练习

读入一个有 n 个节点,m 条边的有向图

struct node {int to, next;
} edge[1000];
int head[N],cnt = 0; 
int n, m;
void add(int a, int b) {edge[++cnt].to = b;edge[cnt].next = head[a], head[a] = cnt;
}
int main() {memset(head, -1,sizeof head); cin >> n >> m;for (int i = 0; i< m; i++) {int a, b;cin >> a >> b; add(a, b);}return 0;
}
int head[N],e[N],ne[N],idx = 0; 
void add(int a, int b) {e[idx] = b, ne[idx] = head[a], head[a] = idx++;
}
int n, m;
int main() {memset(head,-1, sizeof head); cin >> n >> m;for (int i = 0; i< m; i++) {int a, b;cin >> a >> b; add(a, b);}return 0;
}
vector<vector<int>> q(1000);
int n, m;
int main() {cin >> n >> m;for (int i = 1; i<= m; i++) {int a, b;cin >> a >> b;q[a].push_back(b);}return 0;
}

相关文章:

  • mybatisplus的总结
  • 计算机网络 : 应用层自定义协议与序列化
  • 2894. 分类求和并作差
  • 判断使用什么技术来爬取数据详细讲解
  • Python Day40 学习(复习学习日志Day5-7)
  • 【笔记】解决虚拟环境中找不到 chromedriver 的问题
  • 地震资料裂缝定量识别——学习计划
  • Netty学习example示例
  • OpenCV——Mac系统搭建OpenCV的Java环境
  • DAY 41 超大力王爱学Python
  • 【保姆级教程】PDF批量转图文笔记
  • ACTF2025-web-eznote-wp
  • 混和效应模型在医学分析中的应用
  • Java设计模式之观察者模式详解
  • NodeJS全栈WEB3面试题——P4Node.js后端集成 服务端设计
  • 《深度探索C++对象模型》阅读笔记(完整版)
  • 网络攻防技术二:密码学分析
  • Unity + HybirdCLR热更新 入门篇
  • MySQL日志
  • Rust 变量与可变性
  • 雅客网站建设/杭州seo优化公司
  • 南京网站开发注册app/网站网络推广推广
  • 动态海报网站/seo综合查询是什么意思
  • 网站与网络的区别/怎么样在百度上推广自己的产品
  • 秦皇岛城乡建设局和住建局官网/网站建设加推广优化
  • 三合一网站搭建价格/广告优化师