图写成一个类

只集成了最基本的功能。。也就是加边和取相邻点。

 1 struct Graph{
 2     int n, m, cntedge;
 3     int fir[maxn];
 4     Edge link[maxn];
 5     Edge edge[maxm];
 6
 7     void init(int nodenum, int edgenum){
 8         n=nodenum, m=edgenum;
 9     }
10
11     Graph(){
12         memset(fir, 0, sizeof(fir));
13         memset(edge, 0, sizeof(edge));
14         cntedge=0;
15         n=0;
16         m=0;
17         return;
18     }
19
20     void addedge(int x, int y, int v){
21         ++cntedge;
22         edge[cntedge].to=y;
23         edge[cntedge].v=v;
24         edge[cntedge].next=fir[x];
25         fir[x]=cntedge;
26         return;
27     }
28
29     Edge *get_link(int x){
30         int cnt=0;
31         for (int nowedge=fir[x]; nowedge;
32              nowedge=edge[nowedge].next){
33             link[++cnt]=edge[nowedge];
34         }
35         link[0].v=cnt;
36         return link;
37     }
38
39 };
时间: 2024-08-29 19:09:19

图写成一个类的相关文章

并查集写成一个类

这个应该不用多说.. 1 #include <cstdio> 2 using namespace std; 3 4 const int maxn=10005; 5 int n, m; 6 7 struct Ufset{ 8 int fa[maxn], size[maxn]; 9 10 Ufset(int n){ 11 for (int i=1; i<=n; ++i){ 12 fa[i]=i; 13 size[i]=1; 14 } 15 return; 16 } 17 18 int fin

自己写了一个类(serialize 和 unserialize)

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 <?php //声明一个类 class dog {     var $name;     var $age;     var $owner;     function dog($in_name="unname

频繁使用jdbc连接数据库,封装成一个类

import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.util.Properties; public class DbUtils { static String driver; static String url; static String username; static String password; /* * 封装创建数据库连接的过程,简化数据库链接

Effective C++:条款25:考虑写出一个不抛异常的swap函数

(一) 缺省情况下swap动作可由标准程序库提供的swap算法完毕: namespace std { template<typename T> void swap(T& a, T& b) { T temp(a); a = b; b = temp; } } 这个函数是异常安全性编程的核心,而且是用来处理自我赋值可能性的一个常见机制 可是对某些类型而言,这些复制动作无一必要:当中基本的就是"以指针指向一个对象,内含真正数据"那种类型.多为"pimpl手

条款25:考虑写出一个不抛异常的swap函数

条款25:考虑写出一个不抛异常的swap函数 swap函数在C++中是一个非常重要的函数,但实现也非常复杂. 看一个缺省的std::swap函数的实现 namespace std { template<typename T> void swap( T& a , T& b) { T temp(a); a = b; b = temp } } ①内置类型的调用 int a = 2; int b =3; std::swap(a, b); cout<<"a:&quo

Rational Rose 2003 逆向工程转换C++源代码成UML类图

网上的关于从C++代码到UML类图生成过程的东西不少,找了个能用的,现在转下,以备不时之需. 转来稍微调整了下内容,只关心使用. 原出处http://siulyn.blog.163.com/blog/static/6245583620087252539344 Rational Rose 2003逆向工程生成UML模型图 这一节主要介绍用户如何使用Rose的逆向工程生成UML模型,并用来进行C++代码的结构分析. Rational Rose可以支持标准C++和Visual C++的模型到代码的转换

用MyEclipse将java文件转换成UML类图

用MyEclipse将java文件转换成UML类图 参考: 用MyEclipse将java文件转换成UML类图 - 君临天下的博客 - CSDN博客  http://blog.csdn.net/dan15188387481/article/details/50053807 MyEclipse画UML用例图并生成JAVA代码(图文详细步骤) - 蘑菇猎手的专栏 - CSDN博客  http://blog.csdn.net/donggege214/article/details/48791413  

我写的一个ExcelHelper通用类,可用于读取或生成数据

读取或生成EXCEL数据的方法有很多,一般常见的有: 1.通过OFFICE EXCEL组件,优点:读取与生成EXCEL文件方便,缺点:服务器上必须安装OFFICE软件,且进程无法及时释放 2.通过第三方组件(比如:NPOI),优点:无需安装OFFICE软件,缺点:需要引入第三方组件,当然这个还是比较强的 3.通过把EXCEL当成数据库,连接后运用SQL语句读取,写入的话就自行拼接成HTML表格,优点:无需另外的组件,缺点:需要会SQL及拼接HTML表格较麻烦: 三种方法我都有用过,若开发BS网站

写了一个DELPHI操作USB摄像头类分享给大家

最近在使用Usb摄像头做了个项目,其中写了一个操作usb摄像头类分享给大家 {*******************************************************} { } { 操作USB摄像头类 } { } { 作者:lqen } { 日期:2015.05.18 } { } {*******************************************************} unit untUsbCamera; interface uses Window