编程的心法与注意事项
2016-09-01 15:17
190 查看
[lo, hi) :一定要明确区间的端点,是否包含;
上述代码,为图的邻接表实现时的增加新的结点进去;
因为两个函数是被调用和调用的关系,且二者的实现具有一致的 while 结构:
1. 将尽可能多的操作封装在函数体内,主调函数尽可能简单
一些对成员变量有所更易的函数,尽可能地返回该变量以前的旧值;def add_vertex(self): self._mat.append([]) self._vnum += 1 return self._vnum - 1
上述代码,为图的邻接表实现时的增加新的结点进去;
2. 函数合并
二叉树的中序递归遍历template <typename T, typename VST> void visitAlongLeftBranch(BinNode<T>* x, Stack<BinNode<T>*>& S){ while (x){ S.push(x); x = x->lChild; } // 直到没有左孩子结点为止 }; template <typename T, typenaem VST> void travInorder_I1(BinNode<T>* x, VST& visit) { Stack<BinNode<T>*> S; while (true){ visitAlongLeftBranch(x, S); if (S.empty()) break; x = S.pop(); visit(x->data); x = x->rChild; } }
因为两个函数是被调用和调用的关系,且二者的实现具有一致的 while 结构:
template <typename T, typename VST> void travInorder_I2(BinNode<T>* x, VST& visit){ Stack<BinNode<T>*> S; while (true){ if (x) { S.push(x); x = x->lChild; } else if (!S.empty()){ x = S.pop(); visit(x->data); x = x->rChild; } else break; } }
相关文章推荐
- Linux下C编程注意事项
- Linux下C编程注意事项(转)
- PHP程序员编程注意事项
- MFC多线程编程注意事项
- 编写跨平台Java程序注意事项-Java基础-Java-编程开发
- 编程中的一些注意事项
- 新手asp编程的基本法则与常见错误注意事项
- Linux下C语言编程的注意事项
- C和C++混合编程注意事项
- Windows多线程编程注意事项
- Linux shell编程的一些注意事项
- 关于windows服务编程注意事项
- JSP编程之编写Servlet类注意事项
- PHP程序员编程注意事项
- C编程中使用全局变量应注意的事项
- PowerBuilder编程变量命名规范及开发注意事项
- 关于安全编写代码的一些注意事项[参照msdn],这些在编程基础中都已经相当重要了!
- ATmega128的SRAM结构和编程注意事项
- Linux操作系统下C语言编程的注意事项
- 新手asp编程的基本法则与常见错误注意事项