建图(Graph类的插点和插边实现)
来源:互联网 发布:中国少儿编程网 编辑:程序博客网 时间:2024/05/24 06:36
好吧。。。N久没写过代码了。。。。
最近忙着复习期末加六级再加上坑爹的游戏休闲,什么ACM都木有碰啊。。坑爹。。
决定这两个星期把数据结构书上的代码都敲一遍。
#include <iostream>#include <cstdio>using namespace std;struct ArcNode{ ArcNode *nextarc; int id; int weight;};struct VexNode{ ArcNode *firstarc; int id;};class Graph{ private: int n; int max; VexNode *adjlist; bool *visit; public: Graph( int l ) { n=0; max=l; adjlist=new VexNode[l]; visit=new bool[l]; } ~Graph() { delete []adjlist; delete []visit; } void instArc( int a,int b,int w=0 ); void instVex( int a );};void Graph::instVex( int a )//插点{ if( n<max ) adjlist[n++].id=a;}void Graph::instArc( int a,int b,int w ) //不带等于0 //插边{ ArcNode *p=new ArcNode; ArcNode *q=new ArcNode; p->id=b; q->id=a; p->nextarc=adjlist[a].firstarc; q->nextarc=adjlist[b].firstarc; adjlist[a].firstarc=p; adjlist[b].firstarc=q;}int main(){ Graph g(10); int i; for( i=0;i<4;i++ ) g.instVex(i); g.instArc(0,1); g.instArc(0,2); g.instArc(3,1); g.instArc(3,2); return 0;}
- 建图(Graph类的插点和插边实现)
- 向量的点乘和插乘
- 插值方法实现(拉格朗日插值和牛顿插值)
- 单链表的头插、中插、尾插、删除、逆序、显示(C语言实现)
- 通过C#代码实现空间离散点的克里金(kriging)插值(二) 代码实现
- 通过C#代码实现空间离散点的克里金(kriging)插值(一) 计算原理
- 双向循环链表的头插、中插、尾插、删除、逆序顺序显示(C++实现)
- C语言实现链表的头插,尾插,插入,修改,删除和遍历
- slerp插值的实现
- 数组的链表实现:创建(头插/尾插)、打印、删除、插入
- 支撑树的插点问题
- 插排的递归和非递归实现
- poj3693后缀数组(插点)
- 图的前插表示法(基于数组实现)
- 牛顿插值(牛顿差商法)的Matlab实现
- 顺序表的实现(头插,头删尾插,尾删)
- 牛顿插值 C++ 和 Matlab实现
- 链表的插入(头插,尾插,中间插)
- HashMap的遍历两种常用的方法,那就是使用keyset及entryset来进行遍历
- xml
- XCODE4.2 IOS5 ARC控制
- Linux 下垃圾清理工具 BleachBit
- 验证日期的前后
- 建图(Graph类的插点和插边实现)
- MTK添加资源(含52_11B情况的说明)
- ASP教程:ASPX 的 @Register 命令
- Linux pushd popd
- linux下vim命令详解
- oracle 占位操作和开关操作的问题。
- android activity 的启动模式
- 让网站飞起来02--服务器缓存技术
- android.view.ViewRoot$CalledFromWrongThreadException 异常的解决方案 * 更新时间: 2011-07-21