设为首页收藏本站|繁體中文 快速切换版块

 找回密码
 立即加入
搜索
查看: 1155|回复: 2

图的遍历程序——C写的

[复制链接]

该用户从未签到

尚未签到

发表于 2009-4-25 17:07:12 | 显示全部楼层 |阅读模式
文档文案
文档文件名称: 图的遍历程序——C写的
内容简介: 图的遍历程序——C写的
所属专业方向: 电力系统
文件类型: .doc
来源:

马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!

您需要 登录 才可以下载或查看,没有账号?立即加入

×
图的遍历程序——C写的* s/ S+ i: p5 s5 ]+ U, J- \. C- @
用于配网潮流计算的

图的遍历.rar

5.58 KB, 下载次数: 14, 下载积分: 威望 -2 点, 学分 -5 点

"真诚赞赏,手留余香"
还没有人打赏,支持一下
楼主热帖
帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

该用户从未签到

尚未签到

发表于 2009-4-25 22:23:50 | 显示全部楼层
学习了.谢谢
; n  v7 R2 |* K0 A& x3 ?/*全局变量:访问标志数组*/1 a& u- J6 j; S( ?" _3 _) [
int visited[M];: f* G) y* ~& b) W
/*访问顶点*/
( ?" Y1 |' `+ B, d, f6 G- F! s& tvoid visitvex(Graph *g,int vex)
  n# l, P- l. o) @# I5 R2 X, o{' K0 z, w' i3 c3 m0 {# F  Y5 ~9 }
printf("%d ",g->V[vex]);
. ~7 @# @; C% v6 C}/ F4 Q' @% T3 A3 i1 r

3 C/ |& O+ b# @: E! v( \/*获取第一个未被访问的邻接节点*/
3 o! ~, k) }9 }5 l6 q2 ^4 aint firstadjvex(Graph *g,int vex)8 ?8 u9 }- x$ B8 A
{
* S8 S9 I5 L3 Iint w,i;
' D8 C- Q$ }& i6 Bfor(i=1;i<=g->vexnum;i++)" X) V% j% g9 n' ^& r  Q: ^! h
  {  e' E- ^  H6 m0 a$ b/ T
   if(g->R[vex][i]==1&&visited[i]==0)) k8 P# R3 j* C
    {
( d$ v* ~, g- l  F! ?& K      w=i;5 y0 K0 {2 i" b; c
      break;
$ H8 q5 x/ Z: ~" b1 O# @7 ^+ h  U    }
, J( J2 y5 O, n# [# m   else9 _8 i: t9 K+ D
    {+ c  z( I' Q2 l! G
      w=0;
, h5 t1 {8 a, B. v8 X9 T& k    }
: k7 i- ]% D8 F3 c& @2 O1 f' ]- v  }
- x4 J( w( W; G1 l5 u  return w;
8 l7 p4 B! G$ T3 S}5 j( e; z4 D0 K9 k& Q
/*获取下一个未被访问的邻接节点(深度遍历)*/
$ v4 L  \4 J2 F: Nint nextadjvex(Graph *g,int vex,int w)( p" B, L$ p& q+ a
{
8 j  z7 A! I: m: i2 H3 }* Y  int t;& ?& b6 W$ W, W# `" r" Z
  t=firstadjvex(g,w);3 M7 @* v4 o( H3 c0 a
  return t;' g, p# B7 `8 @" ~
}% k. x6 }# b9 q$ a2 U; J
/*深度递归遍历*/6 w6 ]9 O! v  ]# t4 x9 I- a
  void dfs(Graph *g,int vex)& m0 G4 ~7 c4 S4 F- N- f
   {7 e3 u! C0 v  I
    int w;2 B+ o+ O+ j- f9 j6 m2 K& Z" G
    visited[vex]=1;/ I" V  U: G. Q$ Z% I
    visitvex(g,vex);3 A  ^: t8 u7 j2 v0 e$ P4 G7 f
    for(w=firstadjvex(g,vex);w>0;w=nextadjvex(g,vex,w))- S! i/ [8 q$ b- ]7 ~7 S# a
      if(!visited[w])  _" b$ \# n; X' m! ]
       {) {# C$ y+ j7 q5 Z0 F' G( K2 P
dfs(g,w);
1 U7 l5 _7 B/ E$ e2 ~& ^       }
& Z1 r$ f" Y0 i  d   }
; O$ B* `" o8 ?  |* n1 q1 f
* `$ p! U3 |6 m" `- z3 g7 G   void dfstraverse(Graph *g)
9 h+ T; Y$ B( H7 J   {
4 K: N; l! T! m" j/ h. Y+ e. n     int i;2 f- ?( k* _; y
     for(i=1;i<=g->vexnum;i++)% w; g4 b- G& r0 l: C# A
       visited[i]=0;- `5 A7 `9 g- P" Q: g
     for(i=1;i<=g->vexnum;i++)
. E6 H8 U! y6 H! Y! R       if(!visited[i])
% z! v$ v6 ?. f0 J  {dfs(g,i);}( B* |7 f* k8 i& _0 r! |
   }
"真诚赞赏,手留余香"
还没有人打赏,支持一下
帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

该用户从未签到

尚未签到

发表于 2009-4-26 22:13:11 | 显示全部楼层
谢谢楼主, 我想问下您对怎么学习电力系统编程有什么意见吗? 这方面的资料好像很少
"真诚赞赏,手留余香"
还没有人打赏,支持一下
帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
您需要登录后才可以回帖 登录 | 立即加入

本版积分规则

招聘斑竹

小黑屋|手机版|APP下载(beta)|Archiver|电力研学网 ( 赣ICP备12000811号-1|赣公网安备36040302000210号 )|网站地图

GMT+8, 2025-2-23 13:26

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表