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

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

图的遍历程序——C写的

[复制链接]

该用户从未签到

尚未签到

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

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

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

×
图的遍历程序——C写的
* e& h! A* ~6 W1 W/ A用于配网潮流计算的

图的遍历.rar

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

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

该用户从未签到

尚未签到

发表于 2009-4-25 22:23:50 | 显示全部楼层
学习了.谢谢
" \5 o9 F" f6 U& x1 `# t' B/*全局变量:访问标志数组*/
- b4 N% y6 D( L0 c/ ?7 hint visited[M];
; x0 Q0 I, G1 p( @1 a! r3 s, n/*访问顶点*/0 R) ]+ T+ u$ w: |( b5 I
void visitvex(Graph *g,int vex)
$ }! y) M) R) d0 g{
' y" `( p# b2 C) Q: Jprintf("%d ",g->V[vex]);
% P$ O% l) ~' \! {3 ?4 _}
0 B  {' l( o2 H9 Q, s9 u% a) Y
6 I9 S* P! H) J/*获取第一个未被访问的邻接节点*/: V3 I6 g1 p: m) B
int firstadjvex(Graph *g,int vex)
0 s! q- K: Z0 G8 y{
' @( Z3 C3 H- I- Nint w,i;
4 [1 [6 D; m9 U; ?: c% Ofor(i=1;i<=g->vexnum;i++)/ \# K) Q% i8 ^/ `! X$ Y; N; l% T
  {
  O+ U3 X$ F5 j  Q/ r   if(g->R[vex][i]==1&&visited[i]==0)8 a- V- ^5 q- z- d
    {
1 r6 O5 ]) M% R: V( W9 U" F      w=i;" z. r4 p" q" U/ v3 n
      break;+ Q1 |9 x. u/ R& ]
    }- o! l& H) N% f5 \0 p5 e
   else) D( j. J( k, i: f: d. u* x1 b9 l8 L
    {0 g" X  l& p5 W, T
      w=0;
4 g* k; Y/ ~8 L9 O3 ]9 ~    }
$ i2 L& f9 U4 D5 P  I, h7 |* Z* c  }6 z6 F) o% ~: N) B: R
  return w;
6 B' f: \- r9 M' F}
8 i% p3 ]0 C2 R8 z1 d! S, \, e  s/*获取下一个未被访问的邻接节点(深度遍历)*/# j7 S9 K" e  P( D
int nextadjvex(Graph *g,int vex,int w)3 b, K) v' |, |, O$ h' F3 L8 Q  R% v
{
+ X2 \# F& v$ R2 e% b  int t;1 Y/ m: G& v- r4 r+ m8 i
  t=firstadjvex(g,w);
$ ]5 I4 W4 @& F5 W* w& i  return t;+ [, s) O& d9 C, F( ]' h( Z
}. U) Q$ R! p. D/ f9 M
/*深度递归遍历*/
% L/ n* q& T7 T+ d  void dfs(Graph *g,int vex)3 ?& ]" j( B4 q  \
   {, R; S+ j$ {8 Z, h
    int w;: R$ w( F9 `0 w& Q/ [, s" W
    visited[vex]=1;1 ^% K+ s9 c# G( O+ W: |5 b9 A
    visitvex(g,vex);
8 H) X+ y8 p- G. _. w    for(w=firstadjvex(g,vex);w>0;w=nextadjvex(g,vex,w))
% z5 u2 y, y: t" L' ]0 i2 X      if(!visited[w])/ S) @) H$ s) H0 a# e8 H. q
       {0 q3 T1 l9 g  N: ?
dfs(g,w);* I8 T* b6 `/ i7 {
       }1 q. p) g$ [0 d4 n: ^2 \
   }$ e6 \8 \5 r1 Y" j

: V& T7 y% @) p' h9 f8 v   void dfstraverse(Graph *g), U/ u# d7 |8 L: d6 ^0 e
   {, h% ]1 t# U0 A) J
     int i;
0 @: p# Y0 w- h2 a( S( |9 R, ?     for(i=1;i<=g->vexnum;i++)3 M3 F' D* p7 |# u
       visited[i]=0;) u  {1 r5 X( k: `; l# Q) W
     for(i=1;i<=g->vexnum;i++)/ r8 N3 I+ P* z0 S; ~- R
       if(!visited[i])
- V5 R- G& E5 u) H- n  {dfs(g,i);}
: A  w6 L/ S8 ]( t9 }   }
"真诚赞赏,手留余香"
还没有人打赏,支持一下
帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

该用户从未签到

尚未签到

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

本版积分规则

招聘斑竹

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

GMT+8, 2026-10-19 09:04

Powered by Discuz! X3.5 Licensed

© 2001-2026 Discuz! Team.

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