vector存图
来源:互联网 发布:c语言原子锁编程 编辑:程序博客网 时间:2024/05/19 15:41
用vector存图并执行相关操作
#include <vector>#include <algorithm>#include <cstring>#include <cstdio>#include <iterator>#include <iostream>#include <queue>#define print(a) cout << #a << " : " << a << endlusing namespace std;struct node{int v;int w;node(){}node(int v, int w):v(v), w(w){}};vector<node> vc[1000];bool vis[100];void dfs(int cur) //深度遍历{cout << cur << " "; //访问cur节点for(int i = 0; i < vc[cur].size(); i++){int v = vc[cur][i].v;if(vis[v] == false){vis[v] = true;dfs(v);}}}void out_deg(int vexNum) //求每一个点的出度{for(int i = 1; i <= vexNum; i++){cout << i << " ' out_deg is : " << vc[i].size() << endl;}}void bfs() //广度优先遍历{queue<node> q;q.push(node(1, 0));while(!q.empty()){node top = q.front(); q.pop();cout << top.v << " "; //访问top节点for(int i = 0; i < vc[top.v].size(); i++){int v = vc[top.v][i].v;int w = vc[top.v][i].w;if(vis[v] == false){vis[v] = true;q.push(node(v, w));}}}}void test(int vexNum){out_deg(vexNum);cout << endl;vector<node>::iterator it;for(it = vc[3].begin(); it != vc[3].end(); NULL) //删除点3 后面接的点5这条边{if(5 == (*it).v) it = vc[3].erase(it); //注意删除后it指向下一个点, 所以必须这样elseit++;}for(int i = 1; i <= vexNum; i++) //输出没个点所能到达的边{cout << i << "--->: ";for(int j =0; j < vc[i].size(); j++)cout << vc[i][j].v << " ";cout << endl;}memset(vis, false, sizeof(vis));dfs(1);cout << endl;memset(vis, false, sizeof(vis));bfs();cout << endl;}int main(){int vexNum, edgeNum;cin >> vexNum >> edgeNum;for(int i = 0; i < edgeNum; i++){int u, v, w;cin >> u >> v >> w;vc[u].push_back(node(v, w));}test(vexNum);return 0;}
- vector存图
- 用vector存图 + 二分匹配
- nyoj 20 吝啬的国度【dfs+vector存图】
- stl 对vector存对象
- 用vector存二维数组
- 1025 排序(vector存结构体)
- vector::clear()和vecotr::pop_back()对内存处理的不同
- Vector中保存和删除指针数据类型时的tips
- vector::clear()和vecotr::pop_back()对内存处理的不同
- CUP对内存管理精华总(vector机制)
- 验证vector变量是在内存中怎么分配的
- 在sdCard存图
- 存图使用
- 存图专用
- 存
- 把文件中每一行存于vector的每个元素中
- 从文件中导入输入流中再把每个词存于一个vector元素中
- C++中利用vector来处理文本中保存的数据
- DB2_常见错误编码
- 在项目中用mvn打包,报错找不到包?
- 面试智力题:天平称球
- c#中多线程访问winform控件的若干问题
- 月次締め済チェック
- vector存图
- 像不像他(只是按扭在下方)
- 润乾——报表展现标签简介
- centos6.3 安装 mysql 5.6.13
- Linux下使用tar -zxvf —无法 open: 没有该文件或目录
- android_自定义notification
- 几种将网站设为首页的代码
- XP和win7在获取日期的差别问题
- oracle 用户权限