vector实现邻接表的两种方式
来源:互联网 发布:java日期选择控件 编辑:程序博客网 时间:2024/05/29 13:02
方式一:
#include<stdio.h>#include<vector>using namespace std;#define SIZE 1000vector<int> adj[1000];int n,m;void init(){ scanf("%d%d",&n,&m); int i,j; int a,b; for(i=1;i<=n;i++) { adj[i].clear(); } for(i=1;i<=m;i++) { scanf("%d%d",&a,&b); adj[a].push_back(b); adj[b].push_back(a); }}void print(){ int i; vector<int>::iterator j,iend; for(i=1;i<=n;i++) { iend=adj[i].end(); printf("dian %d:",i); for(j=adj[i].begin();j!=iend;j++) { printf("%d ",*j); } printf("\n"); }}int main(){ int t; scanf("%d",&t); while(t--) { init(); print(); } return 0; }
方式二:
#include<stdio.h>#include<vector>using namespace std;#define SIZE 1000vector<vector<int> >adj(SIZE);int n,m;void init(){ scanf("%d%d",&n,&m); int i,j; int a,b; for(i=1;i<=n;i++) { adj[i].clear(); //清除 } for(i=1;i<=m;i++) { scanf("%d%d",&a,&b); adj[a].push_back(b); adj[b].push_back(a); }}void print(){ int i; int j; for(i=1;i<=n;i++) { printf("dian %d:",i); for(j=0;j<adj[i].size();j++) { printf("%d ",adj[i][j]); } printf("\n"); }}int main(){ int t; scanf("%d",&t); while(t--) { init(); print(); } return 0; }
- vector实现邻接表的两种方式
- vector实现邻接表的两种方式
- 建邻接表的两种方式
- java图的邻接表实现两种方式及实例应用分析
- vector 实现邻接表
- 邻接表的建立-两种方式(模板)
- 邻接表的两种实现(双向+非指针)
- prim算法构造最小生成树(邻接表和数组两种存储方式实现)
- vector的两种读取方式
- Dijkstra的实现(用vector模拟邻接链表)
- 图的存储之邻接表--C++ vector实现
- 用vector实现邻接表的建图
- vector 邻接表的建立
- 邻接表的两种遍历算法
- 邻接表的两种模拟写法
- 邻接表存储有向图的两种遍历方式
- 【邻接表】STL中的vector实现邻接表
- 用vector容器实现邻接表
- matlab中寻找矩阵元素并替换
- DataGridView中自定义控件不能设置属性的问题
- yuv2rgb
- 虚拟机安装10g rac的几点备忘
- IOS开发笔记 - 关于导航标题栏的颜色问题
- vector实现邻接表的两种方式
- loadrunner 工具的下载
- AJAX实现防止Session过期
- 2113 Secret Number
- 详解linux内存磁盘初始化技术
- activity的切换问题(activity与栈)
- awk 用法
- Android + Eclipse + PhoneGap 环境配置
- oracle数据库关闭启动