• 大小: 217KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-11
  • 语言: C/C++
  • 标签:   深度  广度  

资源简介

C语言课程实验报告,图的深度遍历与广度遍历程序源代码,在Visual C++ 6.0上已经通过

资源截图

代码片段和文件信息

// Graph0523.cpp: implementation of the CGraph0523 class.
//
//////////////////////////////////////////////////////////////////////

#include “stdafx.h“
#include “Graph0523.h“
#include “userdef.txt“
#include 
#include 
#include 
#include 
#define  INFINITY  INT_MAX

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CGraph0523::CGraph0523()
{

}

CGraph0523::~CGraph0523()
{

}

Status CGraph0523::CreateGraph(Graph &G)
{
       int Incfoijwab;
       char v1[2]v2[2];
       FILE *fp=fopen(“c.txt““r“);
       //输入图的顶点数
       fscanf(fp“%d“&G.vexnum);
       //输入图的弧条数
       fscanf(fp“%d“&G.arcnum);
       //输入图的弧信息(0表示无1表示有)
       fscanf(fp“%d“&Incfo);
       for(i=0;i       {
                //依次输入顶点值
                fscanf(fp“%s“&G.vexs[i]);
       }
       //G.vexs[G.vexnum]=‘\0‘;
       for(i=0;i       {
             for(j=0;j             {
                   G.arcs[i][j].adj=INFINITY;
             }
       }
       for(i=0;i       {
            //依次输入弧的两个顶点和权值(空格隔开)
            fscanf(fp“%s %s %d“&v1&v2&w);
            a=Locatevexs(Gv1);
            b=Locatevexs(Gv2);
            G.arcs[a][b].adj=G.arcs[b][a].adj=w;
       }       
       fclose(fp);
       return OK;      
}

int CGraph0523::Locatevexs(Graph G char v[])
{
    for(int i=0;i    {
            if(G.vexs[i]==v[0])
            {
                  return i;
            }
    }
    printf(“数组中没有此项!\n“);
return 0;
}

int CGraph0523::FirstAdjVex(Graph G int v1)
{
    int i;
    for(i=0;i    {
          if(G.arcs[v1][i].adj!=INFINITY)
          {
                return i;
          } 
    }
return -1;
}

int CGraph0523::NextAdjVex(Graph G int v1 int w1)
{
    int i;
    for(i=w1+1;i    {
          if(G.arcs[v1][i].adj!=INFINITY)
          {
                return i;
          } 
    } 
return -1;     //此处不可为0
}

int Visited[MAX_SIZE];
void (*visitFunc)(char v);


void CGraph0523::DFSTraverse(Graph G void (__cdecl *visit)(char))
{
     int i;
     visitFunc=visit;
     for(i=0;i     {
             Visited[i]=0;
     }
     for(i=0;i     {
            if(0==Visited[i])
            {
                  DFS(Gi);
            }
     }     
}

void CGraph0523::DFS(Graph G int v)
{
      int w;
      Visited[v]=TRUE;
      visitFunc(G.vexs[v]);
      for(w=FirstAdjVex(Gv);w>=0;w=NextAdjVex(Gvw))   
      {
              if(!Visited[w])
              {
                  DFS(Gw);
              }
      }
}

void CGraph0523::MiniSpanTree_PRIM(Graph &G char u)
{
     int kij;
     closedge cd;
     k=Locate(Gu);
     for(j=0;j

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        105  2011-04-17 16:28  图的深度和广度遍历\c.txt

     文件      17125  2011-05-13 10:47  图的深度和广度遍历\Debug\Graph0523.obj

     文件     204860  2011-05-13 10:47  图的深度和广度遍历\Debug\LAB07.exe

     文件     253836  2011-05-13 10:47  图的深度和广度遍历\Debug\LAB07.ilk

     文件       7660  2011-05-13 10:34  图的深度和广度遍历\Debug\LAB07.obj

     文件     203608  2011-04-25 16:20  图的深度和广度遍历\Debug\LAB07.pch

     文件     492544  2011-05-13 10:47  图的深度和广度遍历\Debug\LAB07.pdb

     文件       1769  2011-04-25 16:20  图的深度和广度遍历\Debug\StdAfx.obj

     文件      50176  2011-05-13 11:00  图的深度和广度遍历\Debug\vc60.idb

     文件      61440  2011-05-13 10:47  图的深度和广度遍历\Debug\vc60.pdb

     文件       5961  2011-05-13 10:47  图的深度和广度遍历\Graph0523.cpp

     文件       1639  2011-05-13 10:34  图的深度和广度遍历\Graph0523.h

     文件       1214  2011-05-13 10:30  图的深度和广度遍历\LAB07.cpp

     文件       4718  2011-04-25 16:42  图的深度和广度遍历\LAB07.dsp

     文件        535  2011-04-25 16:19  图的深度和广度遍历\LAB07.dsw

     文件      50176  2011-05-13 16:32  图的深度和广度遍历\LAB07.ncb

     文件      48640  2011-05-13 16:32  图的深度和广度遍历\LAB07.opt

     文件        244  2011-05-13 10:53  图的深度和广度遍历\LAB07.plg

     文件       1202  2011-04-25 16:19  图的深度和广度遍历\ReadMe.txt

     文件        292  2011-04-25 16:19  图的深度和广度遍历\StdAfx.cpp

     文件        769  2011-04-25 16:19  图的深度和广度遍历\StdAfx.h

     文件        339  2011-04-01 10:51  图的深度和广度遍历\userdef.txt

     目录          0  2011-06-17 18:46  图的深度和广度遍历\Debug

     目录          0  2011-06-17 18:46  图的深度和广度遍历

----------- ---------  ---------- -----  ----

              1408852                    24


评论

共有 条评论