数据结构与算法coding过程中的记录
1.init()时一定要记得malloc()申请新的内存空间(如果不申请内存空间程序返回的值是有内存里的脏数据,把人看得云里雾里找不到问题出在哪)
2.带头结点单链表尾插法要注意:若LNode *p = L->next; 循环条件是while(p != NULL){p = p->next;},那么最后的p是NULL,此时在p(NULL)后插一个结点会插在内存中不知道哪个地方去了。应该改成这样:LNode *p = L; while(p->next != NULL){p = p->next;}
如下图这样写,也会包含判断L->next 是否为空。
3.在循环上,while(p!= NULL)与while(p)一样,while(i--)与while(i>0)一样。
4.编程习惯:switch(str){case 'a': xxx; break; },每个case后面不要忘记加break;
5.编程习惯:if+else if、if(){} + if(){} 要注意区别