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

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

图的遍历程序——C写的

[复制链接]

该用户从未签到

尚未签到

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

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

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

×
图的遍历程序——C写的- N6 P3 @. _& q9 C4 {, ?
用于配网潮流计算的

图的遍历.rar

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

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

该用户从未签到

尚未签到

发表于 2009-4-25 22:23:50 | 显示全部楼层
学习了.谢谢& W8 r" u1 s# s9 O. ~
/*全局变量:访问标志数组*/
* S; K! _/ U  T6 @) C, Cint visited[M];
8 m+ P* U0 v3 c6 h5 E2 b5 I/*访问顶点*/
( h" z- B4 W  v( Rvoid visitvex(Graph *g,int vex)3 H  m( a9 q& N8 R
{7 c3 d  A" S; D* l
printf("%d ",g->V[vex]);. I, d( j6 j$ {/ v
}: s$ g, r  y' x- V
6 i% d" w6 u# G  t4 c
/*获取第一个未被访问的邻接节点*/
4 o: o- |1 @9 ]7 g. v* zint firstadjvex(Graph *g,int vex)
7 t7 _, ?& A& w5 W{
$ i+ |. c+ r5 \5 @int w,i;$ u! D2 M$ @8 t$ B
for(i=1;i<=g->vexnum;i++)* p" h, p: ~" i1 o# t
  {$ @1 P" b$ V+ T: z/ c
   if(g->R[vex][i]==1&&visited[i]==0)
. z# K; x5 q* l6 b5 u5 [    {5 M) p* b2 V" c1 R3 D9 u' a8 E9 ^
      w=i;
' @, [- N: H' o/ W: p      break;. ^" R, R- G5 H5 m" a" y- |! }5 p4 G% \
    }/ X/ H& ^/ l+ L% O6 u
   else
7 r7 C/ z8 O, i9 C1 _, R    {0 h% a6 p) c) x& O# q: n
      w=0;/ L+ Y1 Q9 a9 {5 u! k
    }
" N/ E7 X  d* Q1 W" h: h  }& R" U+ S7 Z: W: |/ R. d1 Z
  return w;
- _! W8 i9 g9 u* a}; ^2 `: [! ?. D9 A% F
/*获取下一个未被访问的邻接节点(深度遍历)*/
; s7 w$ E) N% Z; h0 eint nextadjvex(Graph *g,int vex,int w)- k1 Q" @8 K9 I, a1 n: L5 `
{
7 h4 z! d( X' J! E4 v; N  int t;
: E; }! J; P. L, @: l  t=firstadjvex(g,w);: C4 G! Y% l0 u  g) e
  return t;9 @9 f- M. S1 A, N  c5 T
}
" W1 u) O% h2 z  p5 \7 ^" r+ ~/*深度递归遍历*/
0 V* d2 b. }) c. v) Q8 f  void dfs(Graph *g,int vex)# G- h' G# {3 s
   {9 u8 o1 m" C0 L2 S- v6 }. u) b
    int w;
, ^" w, H5 x* M# E# j$ E9 c7 A, U    visited[vex]=1;
0 Z  ]. }. A) z+ m$ \  O    visitvex(g,vex);5 C9 y' T" t  i0 K: Z
    for(w=firstadjvex(g,vex);w>0;w=nextadjvex(g,vex,w))
/ c9 s7 U; }0 Q; d      if(!visited[w])6 C5 h+ ]. G1 b& `( f7 W
       {
& G3 @5 v' J6 P! A" f  E" ?  Ldfs(g,w);" g  H9 v- h* `+ v+ x6 B
       }
/ `9 U% P- G' _  K   }
0 d1 f. ]) _8 `( w$ Z! k0 {! U7 U; C5 V
   void dfstraverse(Graph *g)5 D" [! ^- H% }; X
   {$ q$ y; F  n5 [2 J" e2 b# a
     int i;/ G/ q' I- ^* t5 @2 L, ~
     for(i=1;i<=g->vexnum;i++)! b/ h* _& S5 b- t
       visited[i]=0;" D1 ]" C  t. ?
     for(i=1;i<=g->vexnum;i++)
2 j$ m4 l: \6 g9 F1 t* h* d8 I       if(!visited[i])
7 R& z% |2 M7 `6 |! }0 [+ E  {dfs(g,i);}7 I) \4 e5 j/ t; z9 t0 o
   }
"真诚赞赏,手留余香"
还没有人打赏,支持一下
帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

该用户从未签到

尚未签到

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

本版积分规则

招聘斑竹

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

GMT+8, 2026-8-8 05:52

Powered by Discuz! X3.5 Licensed

© 2001-2026 Discuz! Team.

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