最后的挣扎
结构体初始化
定义
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 = {
second:3.141590,
third:"method three",
first:-10,
four:0.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;