Skip to content

最后的挣扎

结构体初始化

定义

struct InitMember
{
    int first
    double second
    char* third
    float four;
};

方法一:定义时赋值

struct InitMember test = {-10,3.141590"method one"0.25}

方法二:定义后逐个赋值

struct InitMember test

test.first = -10;
test.second = 3.141590;
test.third = "method two";
test.four = 0.25;

方法三:定义时乱序赋值(C++风格)

struct InitMember test = {
    second3.141590,
    third"method three",
    first-10,
    four0.25
};

方法四:构造函数

//定义图的定点
typedef struct Vertex {
    int id,inDegree,outDegree;
    vector<int> connectors;    //存储节点的后续连接顶点编号
    Vertex() : id(-1),inDegree(0),outDegree(0) {}
    Vertex(int nid) : id(nid),inDegree(0),outDegree(0) {}
} Vertex;

//定义Graph的邻接表表示
typedef struct Graph {
    vector<Vertex> vertexs;   //存储定点信息
    int nVertexs;             //计数:邻接数
    bool isDAG;               //标志:是有向图吗

    Graph(int n, bool isDAG) : nVertexs(n), isDAG(isDAG) { vertexs.resize(n); }
    Graph() : nVertexs(1), isDAG(1) { vertexs.resize(1); }
    //向图中添加边
    bool addEdge(int id1, int id2) {
            ...
            ...
            ...
        return true;
    }
} Graph;

Graph g(8, false);

CCF 编译出错原因: 不允许C++STL容器嵌套(需要满足相应的格式)

就是要在后面的“>”之间,必须得有一个空格,如果有多层,那每层都得有一个空格。

map<string,list<string> > user;