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

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

图的遍历程序——C写的

[复制链接]

该用户从未签到

尚未签到

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

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

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

×
图的遍历程序——C写的% |5 _5 y) \( w# R% _. x3 g
用于配网潮流计算的

图的遍历.rar

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

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

该用户从未签到

尚未签到

发表于 2009-4-25 22:23:50 | 显示全部楼层
学习了.谢谢
! ]$ o' y' p3 W1 R/*全局变量:访问标志数组*/$ E/ L0 ~0 p3 r& t, q. V6 Z
int visited[M];
% g4 o& S* p; J* J9 L! q/*访问顶点*/) q4 w: b3 @. ~
void visitvex(Graph *g,int vex)
. j! ^* h6 x) F4 B  D% i{
# X' q: H0 Q; s0 Jprintf("%d ",g->V[vex]);
' |& q0 k7 H. Z' h0 u}5 k& l& d! j/ q  m
; T  e- q' F  ^$ A) T0 A
/*获取第一个未被访问的邻接节点*// d8 W$ }' @" q5 i) {& I/ m9 [
int firstadjvex(Graph *g,int vex)3 }# a1 W  q) M( y/ Q. J( m
{% y, u. p; k+ k3 K9 N
int w,i;# b0 x9 {/ c' l6 S6 N; \
for(i=1;i<=g->vexnum;i++)
6 w% Z! P9 q' Z, _  {
8 R5 F% V" v/ t2 A! S: v0 }   if(g->R[vex][i]==1&&visited[i]==0)
( O3 |8 K& w0 a* P! R( @" e    {
, e- s/ }8 G! w( q$ b0 i& @" S# D      w=i;' C0 ?6 D2 l% {; V5 {/ b9 m* f# m4 D' v
      break;
$ [' q5 p4 A! j4 f) J    }- ]2 n8 s1 X7 w) v6 C9 ~$ `4 I
   else
! G* n$ Z$ p/ z* ~" S1 V    {
& N9 p% V. P! j  ]& A+ e. a      w=0;; \/ L: E* }% A: z% S% E9 ]/ f
    }: Z7 g+ P1 `$ r. M6 j! P* O
  }9 z- L* N" [3 i8 [, K
  return w;
+ T7 }/ N6 d7 Z, d  U}
; [7 I3 y3 f/ c% a! `/*获取下一个未被访问的邻接节点(深度遍历)*/
* w. U3 @4 j! ?; k5 jint nextadjvex(Graph *g,int vex,int w)
- N! j! c  G- j5 ^' m- K{
) u3 ^( D2 \- U8 M  int t;
, _) w% ?9 o. m: v9 i, J: ]  t=firstadjvex(g,w);8 \5 u3 r: B9 N5 k" R$ a1 u
  return t;
* d6 ], W9 v% G; X4 ]: n}
; F7 e6 A! [7 |: j+ B" e/*深度递归遍历*/2 d" x) k- x" B$ G# _2 L
  void dfs(Graph *g,int vex)% R7 b% s( d+ ^2 J) q3 B
   {$ x% {7 ?* Y/ ?% G7 f# ~
    int w;- m. W  F" v1 Q$ l% z
    visited[vex]=1;" y! F% Z' O  M: \1 c9 P& Z
    visitvex(g,vex);
- Y5 V0 Y4 ~5 d' S* O& Z4 M$ N( q    for(w=firstadjvex(g,vex);w>0;w=nextadjvex(g,vex,w))1 C! a; U5 t' \
      if(!visited[w])2 N: @0 |( T9 M/ s1 F) d
       {2 [9 a6 Q' E' X5 w4 @6 k3 l
dfs(g,w);% g! z& C' V( e
       }2 i; X! e9 K$ x: ?  U0 h" w, i, i
   }
2 o. v+ z' ~% ~9 Q5 C; Q
. y+ u2 e+ f5 j+ B6 Q   void dfstraverse(Graph *g)
+ a/ t3 A+ R- C: l   {. P. U# T2 r' }' A  u% r
     int i;
& K  K; i4 ?3 W2 D# k     for(i=1;i<=g->vexnum;i++)
2 ~4 ]3 ?7 w( L" I1 N       visited[i]=0;
# n, Z- B4 V! \     for(i=1;i<=g->vexnum;i++)
- @1 H4 s' ?- v: m; Z       if(!visited[i])
6 \4 }/ ^: D; h$ D2 d3 B7 ?; n  {dfs(g,i);}
. F8 [- G. {- k1 O" A! N; u   }
"真诚赞赏,手留余香"
还没有人打赏,支持一下
帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

该用户从未签到

尚未签到

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

本版积分规则

招聘斑竹

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

GMT+8, 2025-4-19 10:58

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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