图.邻接列表表示法
来源:互联网 发布:电脑软件常见故障排除 编辑:程序博客网 时间:2024/05/21 22:05
//邻接数组表示法#include<iostream>#include<cstdlib>#define MAX 5using namespace std;struct Node{int vertex;int weight;struct Node* next;};typedef struct Node* Graph;Node Head[MAX];int flag = 0; //0为无向图 1为有向图 void init(){int i;for (i = 0; i<MAX; i++){Head[i].vertex = i;Head[i].next = NULL;}}void printGraph(){Graph pointer;int i;for (i = 0; i<MAX; i++){pointer = &(Head[i]);cout << '[' << i << ']';while (pointer->next != NULL){pointer = pointer->next;cout << "->[" << pointer->vertex << ']' << pointer->weight;}cout << endl;}}void GreatGraph(int start, int end, int weight){Graph New = (Graph)malloc(sizeof(struct Node));Graph pointer;if (New != NULL){New->vertex = end;New->weight = weight;New->next = NULL;pointer = &(Head[start]);while (pointer->next != NULL)pointer = pointer->next;pointer->next = New;if (flag == 0){New = (Graph)malloc(sizeof(struct Node));New->vertex = start;New->weight = weight;New->next = NULL;pointer = &(Head[end]);while (pointer->next != NULL)pointer = pointer->next;pointer->next = New;}}}int main(void){int start, end, weight, n, i;init();cout << "请输入(0:无向图 1:有向图):";cin >> flag;cout << "请输入要添加的边数:";cin >> n;for (i = 1; i <= n; i++){cin >> start >> end >> weight;GreatGraph(start, end, weight);}printGraph();return 0;return 0;}
0 0
- 图.邻接列表表示法
- 图.邻接数组表示法
- 图的邻接表示法Java版
- 图的表示--邻接表
- 图的表示--邻接表
- 图的邻接表存储结构表示法
- 图的表示方式----邻接矩阵、邻接表
- 20.图的存储表示-----------------邻接表
- 数据结构:图的邻接表存储表示
- 图的邻接表的表示方法
- 图的存储表示--邻接表实现
- 用邻接表来表示图
- 图论之图形的表示方法(二)- 相邻表法/邻接表法
- 将邻接表表示的图转换为孩子兄弟法表示的二叉树
- 数组表示邻接表
- 图基本算法 ,图的表示方法 邻接矩阵 邻接表
- 图的基本概念;图的存储表示:邻接矩阵、邻接表
- ACM中关于图的邻接表的表示方法
- JudgeOnline 1668 小车载人问题
- Leetcode Valid Sudoku
- Linux 25年发展历史带给我们的9项启示
- SSL 1222_矩形_并差集
- Print Article HDU 3507 斜率优化
- 图.邻接列表表示法
- 集合泛型
- 【Archlinux字符界面配置】Archlinux更改网络接口名
- 自定义dialog
- div居中方法汇总
- 手把手教你实现SVM算法
- 2001年分区联赛提高组之一 一元三次方程求解 1015
- SSL JudgeOnline 2253——新型计算器
- 取余运算 SSL1422