3N+1

int threeN(int n) {    if (n%2==0)       return n/2;    else       return n*3+1; } int getLength(int n) {    static map<int, int> history;    int key = n;        if (n == 1)       return 1;    if (history.find(key) != history.end())       return…

链表

1. 逆转链表 typedef struct Node {    int Data;    Node *Next; }; Node *ReverseList(Node *pHead) {    Node *pReverseHead = NULL;    while (pHead != NULL)    {       Node *pTmp = pHead;       pHead = pHead->Next;       pTmp->Next = pReverseHead;       pReverseHead = pTmp;  …

设计类时要考虑的问题

1. 你的类需要构造函数吗?其访问控制级别怎样? 2. 数据成员需要设计成私有的吗? 3. 需要无参的构造函数吗? 4. 需要析构函数吗?需要设计成虚析构函数吗? 5. 需要复制构造函数吗 如果在构造函数中分配资源,则需要复制构造函数 6. 需要赋值操作符吗? 检查自我赋值 释放旧值, 复制新值 7. 需要定义关系运算符吗? 8. 参数类型需要加上 const 吗? 9. 成员函数需要时 const 吗?