程序设计
文章平均质量分 76
wangyuanzju
汪源,博士,网易副总裁兼杭州研究院执行院长,全面负责网易集团基础软件技术研究、公共技术平台建设和网易数帆政企业务。
展开
-
一个C语言实现不含递归的高效快速排序算法
近来编写一个对性能要求很高的程序,要用到排序功能。要排序的数据类型有很多种,有整数、浮点数、各种结构(根据某个属性进行比较)等。如果调用libc的qsort()函数,调用比较函数的开销将会很大。因此就产生自己写一个排序函数的想法。由于数据类型的多样性,因此算法要有一定通用性。但我又不想用调用比较函数的开销,因此只能用宏来实现了。由于快速排序是目前最快的通用排序算法,因此当前选用快速排序算法。我选用原创 2004-10-04 22:21:00 · 3573 阅读 · 3 评论 -
在C中实现对struct内部数据的封装
封装性是面向对象程序设计用于保证程序健壮性的一个重要部分。封装性的一部分是对对象内部数据进行封装,即不允许外部程序直接引用对象的属性,而是通过对应的get/set方法对属性的访问。封装性有诸多优点:一方面提高的程序的健壮性,防止外部程序有意无意将属性设成非法的值;另一方面也提高了程序的灵活性,如get/set方法并不一定实际对应一个数据成员,一个类的内部实现可以进行一定程序的修改而并影响对外接口。原创 2005-03-19 12:36:00 · 1843 阅读 · 0 评论