C/C++ 学习笔记
文章平均质量分 75
guoyang1007
这个作者很懒,什么都没留下…
展开
-
单向链表的反转
<br />昨天看CSDN的一个文章提到,某公司面试时问到单向链表的反转问题,有好多程序员答不出来。以前我也没做过类似的题目,试着写了一下。<br />问题描述:已知一个单向链表,写一个函数,使得该链表的方向反转,即头变尾,尾变头,指示方向相反。<br />分析:该问题可以有两种方法,一是交换首尾两个节点的数据,而不改变其内存的存储结构,二是改变所有节点的指向下一个节点的指针。显然第二种方法更加有效。<br /> <br /> /×链表的定义和一些操作*/ typedef struct list {原创 2010-07-27 10:51:00 · 12330 阅读 · 1 评论 -
C++的单实例方法
在一些开发中,系统环境要求只能某个类只能有一个实例运行,这就要求所有对该类的调用都是来自同一个实例,同时尽管众多模块都需要使用该类的对象,但是并允许每次使用前重新构造新的对象。将类构造函数声明为私有类型,就可以完成这样的功能。class Singlecase { private: Singlecase(); ~Singlecase(); static Singlecase *instance; int num; p原创 2010-07-26 15:29:00 · 1177 阅读 · 0 评论 -
实现超大整数的方法
前几天做的产品测试,发现内置最大的整数值只有10的9次方,没有实现超大整数的功能。现在海量计算和海量存储应用越来越多,而且已经有很多人实现了超大整数的存储和运算,调查了一些这方面的方法,根本上都是自定义一个多字节的数据结构,以便对程序语言的内置int型做扩展。自定义结构的方式尽管人人不同,但是本质上,都是选取某一种数学进制表示超大数,同时用链表或者数组的方式组织成大数的进制的位元。比如我们习惯的10进制,表示12345这个数时,其本质含义是1×10^4+2×10^3+3×10^2+4×10^1+5×10^0原创 2010-08-05 17:53:00 · 1672 阅读 · 1 评论