lxgraphm.cpp

来自「vc编写的数据结构」· C++ 代码 · 共 100 行

CPP
100
字号
// lxgraphm.cpp: implementation of the lxgraphm class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "lxgraphm.h"

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

lxgraphm::lxgraphm(int numvert)
{
	int i,j;
	numvertex=numvert;
	numedge=0;
	mark = new int[numvert];
	for(i=0;i<numvertex;i++)
		mark[i]=0;
	matrix=(int**) new int*[numvertex];
	for(i=0;i<numvertex;i++)
    	matrix[i]= new int[numvertex];
	for(i=0;i<numvertex;i++)
		for(j=0;j<numvertex;j++) 
			matrix[i][j]=0;

}

lxgraphm::~lxgraphm()
{
	delete [] mark;
	for(int i=0;i<numvertex;i++)
		delete [] matrix[i];
	delete [] matrix;

}

int lxgraphm::n()
{
	return numvertex;

}

int lxgraphm::e()
{
	return numedge;

}

int lxgraphm::first(int v)
{
	int i;
	for(i=0;i<numvertex;i++)
		if(matrix[v][i]!=0) return i;
	return i;


}

int lxgraphm::next(int v1, int v2)
{
	int i;
	for(i=v2+1;i<numvertex;i++)
		if(matrix[v1][i]!=0)return i;
    return i;

}

void lxgraphm::setedge(int v1, int v2, int wgt)
{
	if(matrix[v1][v2] == 0) numedge++;
	matrix[v1][v2]=wgt;

}

void lxgraphm::deledge(int v1, int v2)
{
	if(matrix[v1][v2] != 0) numedge--;
	matrix[v1][v2]=0;

}

int lxgraphm::weight(int v1, int v2)
{
	return matrix[v1][v2];

}

int lxgraphm::getmark(int v)
{
	return mark[v];

}

void lxgraphm::setmark(int v, int val)
{
	mark[v]=val;

}

⌨️ 快捷键说明

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