zoukankan      html  css  js  c++  java
  • 向前星

    //前向星
    #define N_node 1000 //点的个数
    #define N_edge 5000 //边的条数

    typedef struct           //节点信息
    {                   
         int to ,next;        //to 点,next E中下标信息
         int cost;            //当前边的权值
    }STAR;

    STAR E[N_edge];          //节点信息数组
    int list[N_node];        //记录该点所连接的一系列点中的一个的E数组下标
    int tot;                 //记录当前E数组已经用到下标几了

    void add(int a ,int b ,int c)   //添加一条a 到 b 的权值为c的边
    {
         E[++tot].to = b;       //创建出当前节点b     
         E[tot].cost = c;       //到达当前节点的权值
         E[tot].next = list[a]; //把当前节点插入到与a相连的所有点的最前方
         list[a] = tot;         //节点a指向新加的,也就是插入到最前方的这个点
    }

    //存边之前记得把list数组清空,还有把list数组当前所有下标赋值成1
    memset(list ,0 ,sizeof(list));
    tot = 1;

    //遍历,输出点a所连接的所有点b

    for(int k = list[a] ;k ;k = E[k].next) //从头开始一个一个的遍历与点a相连的所有点
    {
         int b = E[k].to;
         printf("%d " ,b);
    }


     

  • 相关阅读:
    js静态成员和实例成员
    js构造函数
    js创建对象
    js演示面向对象
    JavaScript特点
    像素鸟游戏
    图片瀑布流
    微信聊天模拟
    飞机游戏动画特效
    SpringBoot 核心理论
  • 原文地址:https://www.cnblogs.com/ouyang_wsgwz/p/6666560.html
Copyright © 2011-2022 走看看