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

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

图的遍历程序——C写的

[复制链接]

该用户从未签到

尚未签到

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

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

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

×
图的遍历程序——C写的$ P, R* J# {* K
用于配网潮流计算的

图的遍历.rar

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

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

该用户从未签到

尚未签到

发表于 2009-4-25 22:23:50 | 显示全部楼层
学习了.谢谢
! E9 P8 H% f0 }9 I/ m/*全局变量:访问标志数组*/0 s" H" N6 Q8 T3 k7 y! O$ m
int visited[M];
- O$ N8 H  a7 t/ s/*访问顶点*/
( [5 g$ P: {2 |! O/ @6 ?- svoid visitvex(Graph *g,int vex)
* A) O& a0 r* u- S5 P% J3 Y{
, @# L9 j, V3 oprintf("%d ",g->V[vex]);8 S. g( P% u, i
}
( ~. \7 \! x3 z* R9 k0 H% Z1 p
" O- z8 s3 M6 D% F/*获取第一个未被访问的邻接节点*/
+ }& f* u; s! q; O7 Tint firstadjvex(Graph *g,int vex)/ X/ a. c+ q. c
{8 `+ \! V# T' R9 R
int w,i;
+ j1 a! ]! Q4 B2 Pfor(i=1;i<=g->vexnum;i++)
/ x8 Z  V1 s! U- c* _% L! t% ?+ `  {: m) I% n* x7 R4 f' c
   if(g->R[vex][i]==1&&visited[i]==0)- H/ O. D! S- `* @2 |; C( g
    {
2 p( C$ O5 y6 l3 p5 R+ M7 e- e      w=i;- m% q% T0 `- _. R9 J
      break;" [  i+ x3 }. m9 Q% P
    }8 D/ G1 Z: L! [$ _% \0 a
   else  D! w. @4 J, c1 @& g
    {
, b" m' E/ ]$ l+ M# w# ^) L      w=0;
6 r7 D4 C4 o/ S+ q( s    }
# K7 A- F4 R' w3 E) z  }
/ U( F% J+ [+ a- G7 ~  return w;6 Q$ @# g8 L& m' j2 k6 r
}* X" x; L% A2 |2 @
/*获取下一个未被访问的邻接节点(深度遍历)*/
! k6 [# g* L6 P* w$ }- Fint nextadjvex(Graph *g,int vex,int w)
5 Q- n! s$ ?$ Q1 F6 b{6 g5 Q" h3 J& o9 Y# S/ G9 w
  int t;
* \0 b: S0 j9 H6 {+ ]  t=firstadjvex(g,w);" y8 ?: _$ v0 D* H3 \
  return t;
6 E, @9 U0 m4 C8 o% l5 O}
1 ?2 y! Z" w- U! W# p. i+ a9 C2 f/*深度递归遍历*/* }! [# Q' `% v  J5 c
  void dfs(Graph *g,int vex)
3 J8 A% r$ ~" W; Z   {
, S9 O  B4 e- P  |    int w;" h: f3 D/ E7 u1 h  A3 N
    visited[vex]=1;' }! I. w2 m5 W! C
    visitvex(g,vex);
6 q: T! @* m  o9 c    for(w=firstadjvex(g,vex);w>0;w=nextadjvex(g,vex,w))5 n0 V0 R0 `* U- C& {
      if(!visited[w])5 g5 j; P3 l* m
       {
. S- B. g0 |" o/ o: m" x: n# Cdfs(g,w);
& @9 V# p2 l& ~, P$ o       }
! P* C- l3 j6 M5 N) A   }
: C0 D3 w2 {/ K% }8 R% [6 x3 d% n4 r3 Q; @4 A1 b* b4 U! l
   void dfstraverse(Graph *g)9 I0 o7 R! @) x, t/ y
   {
4 [7 k9 w1 `  g3 q     int i;
3 D( T1 C& U2 |8 T# r' h- g     for(i=1;i<=g->vexnum;i++)! O- F3 b: A) T
       visited[i]=0;
( Y" A+ f- P2 E$ J     for(i=1;i<=g->vexnum;i++)' H- b0 T( _  o5 I6 `' Y
       if(!visited[i])3 ~" e& G9 u! q
  {dfs(g,i);}
! Q% A4 I' U4 z3 J! O3 I   }
"真诚赞赏,手留余香"
还没有人打赏,支持一下
帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

该用户从未签到

尚未签到

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

本版积分规则

招聘斑竹

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

GMT+8, 2025-5-14 00:13

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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