首页 > 其他分享 >图的存储之邻接矩阵

图的存储之邻接矩阵

时间:2022-12-03 20:23:43浏览次数:36  
标签:存储 return int 邻接矩阵 input false true arry

邻接矩阵存图:

c++

 1 #include<iostream>
 2 using namespace std;
 3 
 4 class AM//邻接矩阵存图 用法 AM 图的名称 ={规模长(int),规模宽(int),是否为无向图,是为true,不是为false(bool)} 
 5 {
 6     private:
 7         int sn, sm;
 8         bool is_undirected_graph = true;//是否为无向图,是为true,不是为false
 9         bool arry[sn][sm];
10     public:
11         void AM(int input_n, int input_m,bool input_is_undirected_graph)//构造函数 input_n是规模长,input_m是规模宽,input_is_undirected_graph是 是否为无向图
12         {
13             this->sn = input_n; this->sm = input_m;//赋值
14             this->is_undirected_graph = input_is_undirected_graph;//赋值
15             return;//写不写都行
16         }
17         void ~AM(){}//析构函数,这里没什么用,写上更好
18         void link(int _A_, int _B_)//从_A_到_B_连边 
19         {
20             if (is_undirected_garph == true)//如果是无向图
21             {
22                 this->arry[_A_][_B_] = this->arry[_B_][_A_] = true;//双向边连上
23                 return;//写不写都行
24             }
25             else//如果不是
26             {
27                 this->arry[_A_][_B_] = true;//只连一个
28                 return;//写不写都行
29             }
30             return//写不写都行
31         }
32         bool unlink(int _A_, int _B_)//去掉_A_到_B_这条边,成功返回true,失败返回false
33         {
34             if (this->arry[_A_][_B_] == false)//如果没边 return false;
35             {
36                 return false;
37             }
38             if (is_undirected_garph == true)//如果是无向图
39             {
40                 this->arry[_A_][_B_] = this->arry[_B_][_A_] = false;//两边都删
41                 return true;//成功
42             }
43             else//如果不是
44             {
45                 this->arry[_A_][_B_] = false;//只删一边
46                 return true;//成功
47             }
48         }
49         boll ask(int _A_, int _B_)//_A_到_B_是否有边
50         {
51             return this->arry[_A_][_B_] == true ? true : false;
52             /*三目运算符,如果有边,返回true,没变返回false
53             * 格式为 a ? b : c
54             * 意为如果a成立那么表达式为b,如果a不成立,那么返回c
55             * 可以译作C++代码:
56             * if (a) //也可写作if (a==true)
57             * {
58             *    return b;
59             * }
60             * else
61             * {
62             *    return c;
63             * }
64             */
65         }
66 };    

 

标签:存储,return,int,邻接矩阵,input,false,true,arry
From: https://www.cnblogs.com/algorithm-weaver/p/juzhen.html

相关文章

  • 这就是搜索引擎(6) 云存储之BigTable
    0.背景BigTable是一个负责管理海量结构化或者半结构化数据的分布式存储系统。在Google的云存储体系中处于核心地位,起到了承上启下的作用。之前说的GFS是一个分布式的海量......
  • zfile 在线云盘、网盘、OneDrive、云存储、私有云、对象存储、h5ai、上传、下载
    基于Java的在线网盘程序,支持对接S3、OneDrive、SharePoint、又拍云、本地存储、FTP、SFTP等存储源,支持在线浏览图片、播放音视频,文本文件、Office、obj(3d)等文件类型。......
  • ASP.NET中如何调用存储过程
     用ASP.NET与SQLSERVER可是缘份最好了,稍大的程序一般第一先考虑的是SQLSERVER,只是一些很考虑经济的才使用ACCESS等了。用SQLSERVER,为了使数据库的效率更好,一般都会才取......
  • asp教程:ASP开发中存储过程应用详解
    ASP开发中存储过程应用详解|调用,参数,存储,数据库,输出,编译,mycomm,输入,userid,代码ASP与存储过程(StoredProcedures)的文章不少,但是我怀疑作者们是否真正实践过。......
  • 使用iSCSI服务部署网络存储
    实验环境:主机名称操作系统IP地址iSCSI服务端CentOS7.4192.168.126.131iSCSI客户端CentOS7.4192.168.126.200iSCSI客户端Windows10专业版192.168.126.2......
  • Linux-iscsi存储服务配置实验
    1)给一台centos7虚拟主机添加一个硬盘50G硬盘,同时由一台centos7虚拟机克隆后修改克隆主机IP地址。Crt连上两台虚拟机,改主机名:#先添加硬盘在开机省略掉扫描总线步骤#ifcon......
  • 行式存储和列式存储的区别
    1.什么是行式存储和列式存储?2.行式存储分析?缺点:--行式在读取数据的时候,所查询的目标只涉及少数几项属性,但由于这些目标数据埋藏在各行数据单元中,而行单元又特别大,......
  • VMware VCSA 6.7配置vSAN存储
    一、建存储网络1、点击主机右键新建网络 2、选择连接类型 3、选择目标设备 4、分配适配器 5、填写端口属性 6、配置存储网......
  • 不买NAS,也能用cpolar搭建私有云盘3 (群晖系统存储空间设置)
    在上篇文章中,我们安装好了SynologyAssistant程序,也意味着群晖系统的安装走到了最后一步,在这一步中,我们主要是对群晖系统进行存储空间设置,使其能够成为真正数据中心。现在,......
  • 【服务器数据恢复】通过自由数据块拼接方法恢复EMC Unity存储误删除数据的案例
    服务器数据恢复环境:EMCUnity某型号存储;存储设备连接的2台硬盘柜上共创建2组独立的POOL;2组POOL共包含21块520字节的硬盘。服务器故障&检测:误操作删除了2组POOL上的部分......