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

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

图的遍历程序——C写的

[复制链接]

该用户从未签到

尚未签到

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

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

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

×
图的遍历程序——C写的8 d# L3 D7 f% B3 O0 l
用于配网潮流计算的

图的遍历.rar

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

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

该用户从未签到

尚未签到

发表于 2009-4-25 22:23:50 | 显示全部楼层
学习了.谢谢+ Y  L3 l! ^- J! z) x; h# y
/*全局变量:访问标志数组*/' R. H/ ?3 a7 T3 P1 g
int visited[M];" n3 o. `8 p" W' Y
/*访问顶点*/
6 O: L5 D7 A, t$ ]void visitvex(Graph *g,int vex)1 F) D- O9 y2 h, \: c8 Y
{$ u/ X7 J+ o% ]
printf("%d ",g->V[vex]);: P) F! }8 Y  G* Q4 g8 j$ H
}6 a7 e$ D* B& Z4 t
0 [! o/ Q$ j) r1 ?
/*获取第一个未被访问的邻接节点*/
3 Z2 a& |9 L  Sint firstadjvex(Graph *g,int vex)
) w5 Y% r+ Q7 @9 O1 `' ?{3 E- ~: m% N8 @0 W
int w,i;
$ x9 M) J3 B) f. o; @" J" C3 xfor(i=1;i<=g->vexnum;i++)
8 d4 x5 P4 h; a/ g5 b7 w! J* b  {. \, g! ]; c% S2 [3 @2 m/ C$ T1 o: r
   if(g->R[vex][i]==1&&visited[i]==0)
- [! |3 K0 r7 F+ \5 S% [    {0 [6 J% L0 b) E- X: d
      w=i;' U  p3 ]! \2 N7 {0 J8 D- `1 x
      break;
/ n/ `+ c# P- }4 h  o2 K0 |. s  X    }- d* @  f" y" [
   else% Y6 C0 J! z3 |- }- `7 m; S0 R' {
    {
; L( e, O( ~! `& P      w=0;: J  W3 R- ]) ~
    }1 D3 q, n$ e/ I9 S( n$ G3 e7 ^
  }% S4 Q' Z" ]; F$ a6 \/ _
  return w;+ D" f. X; _8 j) h, @1 T5 I
}
+ y, ?' C4 @0 o1 M* ?4 }+ M/*获取下一个未被访问的邻接节点(深度遍历)*/
4 ]* F' A; O) ?; Mint nextadjvex(Graph *g,int vex,int w)7 U/ V: Z" _' n6 E, E' l  ?
{
: ~9 L# _$ N" A+ |* Y  H% U  int t;8 y! S' `/ k2 Z/ P
  t=firstadjvex(g,w);
, T! N8 T9 I! t) E( S2 {- j  return t;, t0 V$ j1 h/ r% o+ z! B1 F0 N/ Q
}
" I- G* W; ]) c. e8 f  X0 o/*深度递归遍历*/
6 y  m- L1 u, G" R/ Z  void dfs(Graph *g,int vex)
' O. u% w6 d. ^( P2 ~# @) e; s   {/ p4 _( E: Z; E1 N7 u8 A
    int w;% D+ ]/ S7 x6 x8 u8 c- G
    visited[vex]=1;
- [4 u- A! q5 w9 |& j# R$ c    visitvex(g,vex);
  O9 D! D# b- t6 x+ M: s. s5 b    for(w=firstadjvex(g,vex);w>0;w=nextadjvex(g,vex,w))1 L: ^) _# \' O' g* j' I8 N
      if(!visited[w])
) L5 J3 v# E4 \6 g       {' I7 ~: X8 p1 a6 m) D* w2 ^
dfs(g,w);
+ w! F2 q: D* V% ~% ^       }+ \+ N; h, v& I+ Z! _) t
   }% @1 v2 ^) v+ r4 s  P/ d

. D1 v& W( z0 J7 T   void dfstraverse(Graph *g)
* _) U7 t3 s4 q8 I; l9 Z   {
6 i& s1 Q; Q5 \     int i;& W6 q& N# V3 d" S0 u9 z
     for(i=1;i<=g->vexnum;i++)
* K  Y0 u8 v0 P* t8 b) N       visited[i]=0;
" L/ f" C4 j+ b' B* ]: f  D     for(i=1;i<=g->vexnum;i++)
* T) j" {6 }+ {' e; ?4 [- d$ R       if(!visited[i])
7 u, Y0 o, D* C  {dfs(g,i);}8 w0 X4 D) J$ E1 g+ {! t
   }
"真诚赞赏,手留余香"
还没有人打赏,支持一下
帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

该用户从未签到

尚未签到

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

本版积分规则

招聘斑竹

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

GMT+8, 2026-5-2 05:42

Powered by Discuz! X3.5 Licensed

© 2001-2026 Discuz! Team.

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