摘要: 1.单链表反转 单向链表的反转是一个经常被问到的一个面试题,也是一个非常基础的问题。比如一个链表是这样的: 1->2->3->4->5 通过反转后成为5->4->3->2->1。最容易想到的方法遍历一遍链表,利用一个辅助指针,存储遍历过程中当前指针指向的下一个元素,然后将当前节点元素的指针反转后,利用已经存储的指针往后面继续遍历。源代码如下: 1 struct linka { 2 int data; 3 linka* next; 4 }; 5 6 void reverse(linka*& head) 7 { 8 if(head ==NUL 阅读全文
posted @ 2011-12-09 15:10 Clin 阅读(537) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://blog.csdn.net/Last_Time/archive/2009/11/15/4812520.aspx1.重载(overload)我们在C中常常需要两个或多个函数完成相同的任务,但是参数的数据类型不同比如large(int i ,int j),large(float i,float j)所以第一种解决方法就是large_int(),large_float(),但是这种方法比较笨拙,所以我们要找一种比较高明的方法,很幸运C++给我们提供了这样的一种机制—重载。我在同一个程序中可以使用同名的若干函数,但是当然要有限制啦,编译器可不比人聪明,我们要让编译器能唯一区分这 阅读全文
posted @ 2011-12-09 14:17 Clin 阅读(307) 评论(0) 推荐(0) 编辑