算法 7.1.txt

来自「《数据结构及应用算法教程》一书的源代码。作者:严蔚敏」· 文本 代码 · 共 25 行

TXT
25
字号
算法 7.1
void CreateUDG(ALGraph &G) 
{
      // 采用邻接表存储表示,构造无向图G(G.kind=UDG)。
      cin >> G.vexnum >> G.arcnum >> IncInfo;   // IncInfo为0表明各弧不含其它信息
      for (i=0; i<G.vexnum; ++i) {              // 构造表头向量
        cin >> G.vertices[i].data;              // 输入顶点值
        G.vertices[i].firstarc = NULL;          // 初始化链表头指针为"空"
       }//for
      for (k=0; k<G.arcnum; ++k) {              // 输入各边并构造邻接表
        cin >> v1 >> v2;                        // 输入一条弧的始点和终点
        i = LocateVex(G, v1);  j = LocateVex(G, v2); 
                                                // 确定v1和v2在G中位置,即顶点的序号
        pi = new ArcNode;                      
        pi -> adjvex = j;                       // 对弧结点赋邻接点"位置"信息
        pi -> nextarc = G.vertices[i].firstarc;  G.vertices[i].firstarc = pi; 
                                                // 插入链表G.vertices[i]                
        pj = new ArcNode;                       
        pj -> adjvex = i;                       // 对弧结点赋邻接点"位置"信息
        pj -> nextarc = G.vertices[j].firstarc;  G.vertices[j].firstarc = pj;  
                                                // 插入链表G.vertices[j]                
        if (IncInfo)                            // 若弧含有相关信息,则输入
          { cin>> pj->info;  pi->info=pj->info; }
      }//for
} // CreateUDG

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?