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

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

图的遍历程序——C写的

[复制链接]

该用户从未签到

尚未签到

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

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

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

×
图的遍历程序——C写的" j: W8 \: ^+ f: V7 G
用于配网潮流计算的

图的遍历.rar

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

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

该用户从未签到

尚未签到

发表于 2009-4-25 22:23:50 | 显示全部楼层
学习了.谢谢' H1 h" |7 n- r3 ^1 t
/*全局变量:访问标志数组*/
$ E- L% a/ a! ]int visited[M];5 e: ]3 r6 Y1 I  }* i8 W* r. Z$ M
/*访问顶点*/' N2 t' x# |# {# m; a" [+ [
void visitvex(Graph *g,int vex)5 A$ s2 L" y4 q' q+ T0 G6 I
{9 h1 ]* j) G- ~( k; I
printf("%d ",g->V[vex]);- S, \4 U; w/ q0 i& X7 a5 @
}
! _. H. C/ ?% V; c( q4 k, X4 v9 k0 j$ u' I  P) O9 b
/*获取第一个未被访问的邻接节点*/
6 K1 M) E9 _+ {6 b+ ?* P# Nint firstadjvex(Graph *g,int vex)6 `7 I  b( p8 x* i/ G/ D
{
7 x% n5 Q  n) lint w,i;
2 E) z8 d8 V& ~; ^0 i/ Ofor(i=1;i<=g->vexnum;i++)9 V% r- K6 T# X7 q% {: c
  {
( l7 O; G8 P0 A2 q   if(g->R[vex][i]==1&&visited[i]==0)2 H- \0 A9 I0 l
    {
2 B5 b) C: Q1 H' X9 u      w=i;, z" X" o9 w' V5 R! ^6 j1 g2 V
      break;7 B+ {/ I& S5 K8 r: i
    }
/ p, }% S0 `0 n9 L. g0 z   else3 y5 r. Q2 p* @0 J3 b
    {
, H  y+ f5 L8 L$ Z2 L; b      w=0;! O8 e/ B- S6 G) m* O" K5 b
    }
2 E: a! V; z, f4 n( P2 e  }+ C3 w: g$ p8 ?$ r# @$ I  m$ m
  return w;. E$ w0 F; ]7 [, e
}
6 n/ m$ [( A0 z" h! x2 _/*获取下一个未被访问的邻接节点(深度遍历)*/
5 [8 S* [# j; I0 Nint nextadjvex(Graph *g,int vex,int w)
/ y( G/ D  i& v3 \{
8 ?* V0 v) W$ }  int t;
$ t# _6 [+ m) b2 }9 Q6 D* Q  t=firstadjvex(g,w);
# `/ a% ~7 L1 l0 T6 Z9 G6 p  return t;' L3 o7 S6 ?( c( }8 x
}* V: v6 {7 Z5 G4 F) c
/*深度递归遍历*/
6 w" A5 d3 U& r* {  void dfs(Graph *g,int vex)
1 ~, U) z* _/ h- I0 {. S   {( ]: n4 {5 z4 ?# i
    int w;
  r' e1 r" o! U, F9 N; |    visited[vex]=1;$ g1 a% ^/ N1 g- R$ F; R; w
    visitvex(g,vex);
5 Q1 p6 _5 V0 ^5 z5 `& ?2 V4 ^    for(w=firstadjvex(g,vex);w>0;w=nextadjvex(g,vex,w))) p% I9 a9 f* ~) [) E5 T. Z
      if(!visited[w])
2 o' G' E, L1 Z6 A       {
# x; U- a1 v5 M: N/ Sdfs(g,w);
9 ~: I: [" E6 K3 H' Z+ T9 s       }; Q* p! H  g+ g' d9 _, e, j
   }
7 e* T0 D' {# t* |* A+ Q) L' H# N% d- U4 u/ V0 H
   void dfstraverse(Graph *g)
+ c- B! l% d4 N) ~   {7 |$ y0 q- |7 E( X. l
     int i;
- T$ v3 z9 x: p/ \  q9 k+ A1 @     for(i=1;i<=g->vexnum;i++)
( U" l3 _# Z0 t, R& ^& l  `% l       visited[i]=0;
" a/ j1 V3 B2 ?* F" v     for(i=1;i<=g->vexnum;i++)* k9 \  ]7 |6 N  t5 A1 T
       if(!visited[i])8 O1 l4 ~6 Y/ m
  {dfs(g,i);}
# f9 B4 v' f2 _   }
"真诚赞赏,手留余香"
还没有人打赏,支持一下
帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

该用户从未签到

尚未签到

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

本版积分规则

招聘斑竹

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

GMT+8, 2026-3-20 10:52

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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