用C语言链表写一个有向图。有向图中包含n个顶点,编号为0至n-1。 输入格式: 输入第一行为两个正整数n和e,分别表示图的顶点数和边数,其中n不超过20000,e不超过20000。接下来e行表示每条边...

时间:2024-01-10 01:04:24 标签:  链表  c语言  数据结构  算法  开发语言  

使用链表实现有向图可以用邻接表来实现。

具体实现:

  1. 定义一个链表结构体,包含当前顶点编号、下一个顶点编号和边权。
  2. 定义一个邻接表数组,其中每个数组元素对应一个顶点。
  3. 读入边的信息,在邻接表中对应顶点插入新的链表结构体。
  4. 按顶点编号递增顺序输出每个顶点引出的边。

代码示例:

#include <stdio.h>
#include <stdlib.h>

#define MAX_VERTEX_NUM 20000

typedef struct EdgeNode {
    int vertex;
    int weight;
    struct EdgeNo
来源:https://blоg.сsdn.nеt/wеixin_42612804/аrtiсlе/dеtаils/129607172

智能推荐

本文主要介绍一道面试中常考链表删除相关的题目,即 leetcode 19. 删除链表的倒数第 N 个结点。采用 双指针 + 动图 的方式进行剖析,供大家参考,希望对大家有所帮助。19. 删除链表的倒数第 N 个结点给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。

标签:结点  倒数  链表  

两两交换链表的结点 题目&#xff1a;Leetcode24

标签:链表  数据结构  算法  

最近写了一道题&#xff0c;来分享下。

标签:数据结构  java  算法  动态规划  

24. 两两交换链表中的节点 题目链接&#xff1a;两两交换链表中的节点

标签:算法  

import re# 分析:# 手机号都为11位,必须限定匹配的数字的位数,通过$来限定以9位数字结尾,# 手机号都以1开头,通过^1限定以1开头,# 手机号第二位貌似只有3,5,6,7,8,这几个数字,所以通过[3,5,6,7,8]来匹配其中的任一数字,# 最后{9}匹配9个/d第一种编写方法:&nbsp;def check(num): # 判断

标签:的是  数字  总长  表达式  这几个  

代码如下  /**  * Definition for singly

标签:链表  算法  数据结构  

猜你喜欢

输入两个整数 N 和 M&#xff0c;构造一个 N 行 M 列的数字矩阵&#xff0c;矩阵中的数

标签:矩阵  算法  c++  c语言  开发语言  数据结构  

24、两两交换链表中的节点·模拟节点交换题目链接:https://leetcode.cn/problems/swap-nodes-in-pairs/思路:循环中两两交换   手写模拟一下交换的过程就比较容易了   下图是我写的模拟过程:

标签:链表  节点  环形  倒数  算法  

动态规划&#xff1a;转移方程&#xff1a; a[i][j] &#61;a[i-j][j]&#4

标签:算法和数据结构  动态规划  算法  

本题要求编写程序,计算序列 1 + 1/3 + 1/5 + ... 的前N项之和。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。输入样例:23输出样例:sum = 2.549541代码:#include <stdio.h>int ma

标签:奇数  序列  语言奇数  序列  语言  

公司内做的项目是工厂内的,一般工厂内数据要求的是实时性,很久之前的数据可以自行删除处理,我们数据库用的oracle,所以就想着写一个脚本来删除,这样的话,脚本不管放在那里使用都可以达到效果由于服务器是windows,参照Oracle Shell Scripting中,我们写一下windows下的脚本首先删除数据的sql语句写一下DELETE FROM tablename WHERE createdtime<TRUNC(SYSDATE)-59; --删除59天前的数据commit; --提交事务alter table tablename enable row movement; --数据删除之后会产生很多空

标签:天数  脚本  oracle  

试基于图的深度优先搜索策略写一算法&#xff0c;判别以邻接表方式存储的有向图中是否存在由顶点a到

标签:数据结构与算法  图论  算法  

有一个线性表,采用带头结点的单链表L来存储,设计一个算法将其逆置,且不能建立新节点,只能通过表中已有的节点的重新组合来完成。分析:线性表中关于逆序的问题,就是用建立链表的头插法.而本题要求不能建立新结点,也就不能把元素重新弄到一个表中.可以将L中的元素作为逆转后的L的元素来源,将L->next设置为空.然后将头结点后的

标签:节点  组合  结点  将其  来完成  

 一、反转链表 给你单链表的头节点 head &#xff0c;请你反转链表&#x

标签:网络  c语言  算法  数据结构  笔记  c++  

输入两个无环的单向链表,找出它们的第一个公共结点,如果没有公共节点则返回空。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)数据范围: n≤1000要求:空间复杂度O(1),时间复杂度O(n)例如,输入{1,2,3},{4,5},{6,7}时,两个无环的单向链表的结构如下图所示:

标签:第一个  结点  链表  两个第一个  结点  链表  两个  

题目描述 从键盘读入n个整数&#xff08;n<&#61;100&#xff

标签:算法  c++  

相关问题

相关文章

热门文章

推荐文章

相关标签