zoukankan      html  css  js  c++  java
  • 图的储存(数组模拟临街表)

    图的储存(数组模拟临街表)

    储存:树的储存可以用图来存储,图的数组模拟邻接矩阵:小兵应该先武装好自己,然后再加入队伍,队长负责周转(管最前面一个)。

    遍历:遍历的话也好遍历,管好头尾,头就是队长,尾就是-1。

     

     1 #include <iostream>
     2 #include <cstring>
     3 using namespace std;
     4 struct edge_node{
     5     int to;
     6     int next;
     7 }edge[100];
     8 int main(){
     9     freopen("edge.txt","r",stdin);
    10     int vertex[10];
    11     memset(vertex,-1,sizeof(vertex));
    12     int n;
    13     cin>>n;
    14     int cnt=1; 
    15     for(int i=1;i<=n;i++){
    16         int a,b;
    17         cin>>a>>b;
    18         //武装自己
    19         edge[cnt].to=b;
    20         edge[cnt].next=vertex[a];
    21         vertex[a]=cnt++; 
    22     }
    23     cout<<"---------------输出每个节点的存储情况---------------"<<endl;
    24     cout<<"edge[i].to"<<" "<<"edge[i].next"<<endl;
    25     for(int i=1;i<=6;i++){
    26         cout<<i<<" "<<edge[i].to<<" "<<edge[i].next<<endl;
    27     }
    28     //输出每个节点的边
    29     cout<<"---------------输出每个节点的边---------------"<<endl;
    30     for(int i=1;i<=6;i++){//顶点 
    31         cout<<i<<": ";
    32         for(int j=vertex[i];j!=-1;j=edge[j].next){//遍历边 
    33             cout<<edge[j].to<<" ";
    34         }
    35         cout<<endl; 
    36     } 
    37     return 0;
    38 } 

  • 相关阅读:
    iOS多线程_06_GCD其它用法
    iOS多线程_05_线程间通信NSThread/GCD
    iOS多线程_04_GCD
    iOS多线程_03_Block
    iOS多线程_02_多线程的安全问题
    iOS多线程_01_简介和NSThread
    shell 根据端口号输出所有的pid
    【java核心36讲】接口和抽象类的区别
    CSS布局
    CSS基础
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/8319532.html
Copyright © 2011-2022 走看看