大二用C++写的图邻接矩阵表示法

代码直接从QQ空间搬过来

#include 
using namespace std;
#define UNVISITED 0;
#define VISITED 1;
class Edge {
public:
    int start,end;
    int weight;
    Edge(){
        start=end=weight=0;
    }
    Edge(int st,int en,int w){
        start=st;
        end=en;
        weight=w;
    }
    bool operator > (Edge oneEdge){
        if(weight>oneEdge.weight)
            return true;
        else
            return false;
    }
    bool operator < (Edge oneEdge){
        if(weight0 && oneEdge.end>=0)
            return true;
        else
            return false;
    }
    int StartVertex(Edge oneEdge) {//返回oneEdge的始点
        return oneEdge.start;
    }
    int EndVertex (Edge oneEdge) {
        return oneEdge.end;
    }
    int Weight(Edge oneEdge) {
        return oneEdge.weight;
    }
    virtual void setEdge(int start,int end,int weight)=0;
    virtual void delEdge(int start,int end)=0;
};

class AdjGraph: public Graph
{
private :
    int **matrix;
    public :
    AdjGraph(int verticesNum):Graph(verticesNum) {
    int i,j;
    matrix=(int **) new int*[vertexNum];
    for(i=0;i

运行截图如下

大二用C++写的图邻接矩阵表示法_第1张图片

你可能感兴趣的:(C/C++)