为了方便查错以及代码阅读,是时候改一下以前的代码风格了,新的代码风格规则如下:
一、大致框架
所有的include必须放在程序开头
include顺序为:c++标准库>c标准库
c标准库的引用应用c前缀而不是.h后缀
main函数统一在整个程序的结尾
程序的输入部分大体由init函数来实现
不使用using namespace std,使用using std::cin与using std::cout,方便打表
预处理操作保存在prepare函数中,重置操作保存在reset操作中
二、压行、压缩语句
不通过','来将多个语句压缩成一个
一般不进行压行,一下几种情况除外:
对不同变量的相同赋值进行压行
不同变量的相同赋值:
1、赋值均为常数
2、赋值变量或函数(这个函数不对变量进行引用)名相同
void init() { n = read(); m = read(); for (int i = 1; i <= m; i++) { x = read(); y = read(); v = read(); addedge(x, y, v); addedge(y, x, v); } }
引用同一个函数时进行压行
压行时分号后应有一个' '
三、花括号
所有的左括号均不换行,且应与前面的语句通过一个' '隔开
除struct的声明之外,右括号后均没有任何语句
struct的变量名应与右括号通过一个' '隔开
遇到左括号时缩进+1,遇到右括号时缩进-1
for,while,if等语句后仅有一个语句时,不使用大括号,并将这个语句写在同一行,中间用' '隔开
1 struct node { 2 int y, v, ne; 3 } edge[100010]; 4 5 void init() { 6 n = read(); 7 for (int i = 1; i <= n; i++) a[i] = read(); 8 }
四、空格
对于圆括号来说,左括号的右边,右括号的左边没有空格
单目运算符前后均无空格
双目以及三目运算符前后均有空格
','';'后有其余语句时用空格隔开