⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cmydoc.cpp

📁 最小生成树的具体程序
💻 CPP
字号:
// CMyDoc.cpp : implementation of the CMyDoc class
//

#include "stdafx.h"
#include "最小生成树.h"

#include "CMyDoc.h"
#include <math.h>

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMyDoc

IMPLEMENT_DYNCREATE(CMyDoc, CDocument)

BEGIN_MESSAGE_MAP(CMyDoc, CDocument)
	//{{AFX_MSG_MAP(CMyDoc)
		// NOTE - the ClassWizard will add and remove mapping macros here.
		//    DO NOT EDIT what you see in these blocks of generated code!
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMyDoc construction/destruction

CMyDoc::CMyDoc()
{
	// TODO: add one-time construction code here
	W_init();

}

CMyDoc::~CMyDoc()
{
}

BOOL CMyDoc::OnNewDocument()
{
	if (!CDocument::OnNewDocument())
		return FALSE;

	// TODO: add reinitialization code here
	// (SDI documents will reuse this document)

	return TRUE;
}



/////////////////////////////////////////////////////////////////////////////
// CMyDoc serialization

void CMyDoc::Serialize(CArchive& ar)
{
	if (ar.IsStoring())
	{
		// TODO: add storing code here
	}
	else
	{
		// TODO: add loading code here
		CString str;
		ar>>w_vexnum>>w_arcnum;
		for(int i=0; i<w_vexnum; ++i){
			ar>>str;
			w_vecname.push_back(str);
		}
		
	}
}

/////////////////////////////////////////////////////////////////////////////
// CMyDoc diagnostics

#ifdef _DEBUG
void CMyDoc::AssertValid() const
{
	CDocument::AssertValid();
}

void CMyDoc::Dump(CDumpContext& dc) const
{
	CDocument::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CMyDoc commands

void CMyDoc::W_init()		//初始其他相关信息
{
	w_arcnum = 10;
	w_vexnum = 6;

	//初始化顶点名称
	CString str("v1");
	w_vecname.push_back(str);
	str="v2";
	w_vecname.push_back(str);
	str="v3";
	w_vecname.push_back(str);
	str="v4";
	w_vecname.push_back(str);
	str="v5";
	w_vecname.push_back(str);
	str="v6";
	w_vecname.push_back(str);


	//初始化图
	int M=MAXINT;  //无穷大整数
	int  A[][6]={
		0,6,1,5,M,M,  // 图结构
        6,0,5,M,3,M,
		1,5,0,5,6,4,
		5,M,5,0,M,2,
		M,3,6,M,0,6,
        M,M,4,2,6,0,}; 

	for(int i=0; i<w_vexnum; ++i)
		for(int j=0;j<w_vexnum; ++j){
			w_arcs[i][j] = A[i][j];
		}

	//初始化坐标
	W_initVexmap();

	w_isbegindraw = true;



}
void CMyDoc::W_initVexmap() //初始顶点坐标
{
	int x,y;
	double pi = 3.1415926535;
	double a = 2*pi/w_vexnum;

	for(int i=0; i<w_vexnum; ++i){ 
		x = int(XX+R1*sin(i*a));
		y = int(YY-R1*cos(i*a));
		w_vecmap.insert(pair<int,CPoint>(i,CPoint(x,y)));
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -