邻接矩阵->邻接表(算法)


数据结构与算法


邻接矩阵邻接表(算法)

                        ----------------------个人作业,如果有后辈的作业习题一致,可以参考学习,一起交流,请勿直接copy
struct
point{ int date; struct point *next; };//定义结点的结构 void matrix_to_list(int size)//转换函数主体,size为该矩阵的大小 { struct point *p, *q, arr[]; int e[][];//邻接矩阵 for (int i = 0; i<size; i++) { arr[i].next = NULL; for (int j = 0; j<size; j++) { cin >> e[i][j];//双层循环输入邻接矩阵 p = (struct point *)malloc(sizeof(struct point));//初始化 p->date = j; p->next = NULL; if (e[i][j] == 1) { if (arr[i].next == NULL) arr[i].next = p; else q->next = p; q = p; }//结点存在道路,则保存入邻接表 } }//转换的过程 for (int i = 0; i<total; i++) { p = arr[i].next; while (p != NULL) { cout << p->date; p = p->next; } cout << endl; } }//输出每个结点的邻接表

 

posted @ 2017-04-09 19:03  nanashi  阅读(644)  评论(0编辑  收藏  举报