cstl -- c语言编写通用数据结构和常用算法库(模仿SGI STL)

来源:互联网 发布:超高清图片下载软件 编辑:程序博客网 时间:2024/05/21 10:30

cstl是使用C语言编写的一个通用的数据结构和常用的算法库,它模忙SGI STL的接口和实现,支持vector,list,deque等等常用的数据结构,同时还支持排序,查找,划分等常用的算法,此外cstl也包含迭代器的类型,它作为容器和算法之间的桥梁。cstl为C语言编程中的数据管理提供了便利。

    在使用C语言编程的过程中,很多工作都是在管理数据,很多时候我都是在一遍又一遍的开发通用的数据结构如list,我想C语言中如果有一个像的STL那样的库那就节省了很多的时间和精力,但是在网上没有找到,所以决定自己写一个类似的库。

    库的特点就是要通用,如果一个list只能保存int类型或者是针对每一种类型都要有一个相应的list来保存如保存int类型的list_int保存 double类型的叫list_double,那就很麻烦并且也不够通用,但是cstl做到了数据结构的通用型cstl中的容器可以保存任何类型,不管是 int还是double或者是用户自定义的类型abc_t同一个容器都可以保存,例如cstl中双向链表容器list_t既可以保存int又可以保存 double,连用户自定义的类型abc_t都可以保存,只要通过一步创建就可以:
创建一个保存int类型的list_t:
list_t t_l = create_list(int);
这样这个t_l中保存的数据就是int类型的数据了。
又如:
typedef struct _tagabc
{
...
}abc_t;
list_t t_l2 = create_list(abc_t);
这样t_l2中保存的就是abc_t类型的数据了。

    cstl还提供了很多特性,想了解请参考cstl-1.0.0.tar.gz包中的cstl使用手册(cstl.pdf)和cstl参考手册(cstl_reference.pdf)。我已经贴到我的blog里了:activesys.cublog.cn

原创粉丝点击